How do I track file downloads我有一个网站,可以在Flash Player中播放mp3。 如果用户单击"播放",则Flash Player会自动下载mp3并开始播放。 有没有一种简单的方法来跟踪特定歌曲剪辑(或任何二进制文件)已被下载多少次?
这是一个javascript代码,因此可以回答。 但是,很高兴知道如何使用其他方法(无需切换主机)来跟踪下载。 有趣的是2天前我为所有音乐写了一个php媒体库。我有一个类似的问题。我正在使用http://musicplayer.sourceforge.net/作为播放器。播放列表是通过php构建的。所有音乐请求都转到一个名为xfer.php?file = WHEREVER的脚本
当您调用文件时,请使用类似以下内容的文件:
http://us.php.net/manual/zh/function.base64-encode.php
如果您使用的某些JavaScript或Flash Player(例如JW Player)要求实际链接为mp3文件或其他内容,则可以附加文本"&type = .mp3",这样最终链接将变为: 使用您的httpd日志文件。安装http://awstats.sourceforge.net/ 使用bash:
如果您的歌曲/二进制文件是由apache提供的,则可以轻松grep access_log找出下载次数。一个简单的logrotate后脚本可以对日志进行grep,并在db中维护您的计数统计信息。 您甚至可以设置一个Apache .htaccess指令,将* .mp3请求转换为您正在使用的dubayou查询字符串。这可能是保留直接请求并且仍然能够将日志功能整合到响应中的一种好方法。 播放链接是指向实际mp3文件的链接,还是指向弹出播放器的某些JavaScript代码的链接? 如果是后者,则可以在其中轻松添加自己的日志记录代码,以跟踪命中次数。 如果是前者,则需要一些可以跟踪Web服务器日志本身并进行区分的东西。我的托管计划附带了webalizer,可以很好地完成此任务。 我遇到诸如AWStats /通过网络服务器日志读取之类的问题的原因是,大型下载通常可以拆分为日志中的数据块。这使得协调确切的下载数量变得非常困难。 我建议您使用Google Analytics(分析)事件跟踪,因为它会在每次点击下载链接时注册一次。 您的音乐库有数据库吗?如果下载mp3时有任何服务器代码在运行,则可以在其中添加额外的代码以增加播放计数。您可能还让javascript再次请求增加播放次数,但这可能导致人员/机器人错误地增加播放次数。 我曾经在一个互联网广播站点工作,我们使用单独的表格来跟踪每首歌曲的播放时间。我们的流由运行icecast的perl脚本提供动力,因此,每当新曲目开始播放时,我们都会触发数据库请求。然后,要计算播放次数,我们将运行查询以计算歌曲ID在播放日志中的次数。 |