我可以在文件(mp3,图像等)中嵌入服务器端操作吗?

时间:2012-09-21 13:14:37

标签: php ajax upload download mp3

我正在寻找一种方法来向用户发送常规文件(mp3或图片),并保持计算此文件被访问的次数而不通过HTML / PHP页面

例如,用户将其浏览器指向bla.com/file.mp3并开始下载,而服务器端脚本则会将数据保存到数据库。

知道我应该从哪里开始?

谢谢!

3 个答案:

答案 0 :(得分:1)

你需要通过一个php脚本,你可以做的是将你想要跟踪的扩展,最好是在文件夹级别,重写为php脚本,然后进行所需的计算,并将文件提供给用户

例如:

如果你想跟踪/ downloads /文件夹,你会在你的网络服务器上创建一个重写来重写php文件的所有或只是特定的扩展,我们将在这个例子中调用proxy.php。

示例uri是proxy.php?file = file.mp3 proxy.php脚本清理文件参数,检查用户是否有权下载(如果适用),检查文件是否存在,将文件提供给客户端并执行后端所需的任何操作,如数据库更新等。

答案 1 :(得分:0)

您的意思是您不希望向您的用户显示特定页面并中断他们的流程吗?如果这样做,您仍然可以使用以下步骤使用PHP页面。 (我不是最新的PHP,所以它将是伪代码,但你会得到这个想法)

  • 提供指向您文件的链接(例如)http://example.com/trackedDownloader.php?id=someUniqueIdentifer
  • 在tracedDownloader.php文件中,确定服务器上与唯一ID相关的实际位置(例如,12345可以映射到/uploadedFiles/AnExample.mp3)
  • 在输出中设置适当的内容类型标题。
  • 将请求记录到您的数据库。
  • 直接将文件内容作为页面输出返回。

答案 2 :(得分:0)

您需要扫描日志文件。无论您最有可能想将计数器存储在数据库中吗?

使用PHP提供静态文件有一个很好的解决方案:

https://tn123.org/mod_xsendfile/