我是否可以统计公用文件夹中特定文件的访问者



目前我使用的是laravel,正如您所知,有很多方法可以统计单个页面的访问者(点击路线(。但我也想统计一下公共文件夹中的图片或pdf文件的访问者,有什么想法吗?

您需要使用应用程序中的代理URL绕过到文件位置的路由。然后使用代理URL来访问文件。

例如:如果您有一个可在yourdomain.com/public/some-file.pdf访问的pdf文件,请为类似yourdomain.com/proxy/some-file.pdf的内容创建一个代理URL。

在管线文件中创建相应的管线。请注意,最后一部分是动态的,应该标识您的文件。

Route::get('/proxy/{fileName}', [DefaultController::class, 'proxy'])

在您的DefaultController.php文件中进行必要的计数记录&然后将您的原始文件作为响应。

public function proxy($fileName) {
***your logic to increase visit count. db addition or something
$pathToFile = Storage::path($fileName);
return response()->file($pathToFile);
}

一种可能的方法是使用返回pdf/image流的路由。这样,您就可以使用与页面相同的方法。可以通过$request->ip什么的。缺点是,你必须重新制作页面上的所有图片/pdf链接,以重定向到路由,而不是资产路径或你使用的任何东西。

最新更新