使用PHP标头强制“另存为”或“将链接另存为”

时间:2013-10-05 07:44:15

标签: php header download mp3

我正在尝试强制另存为对话框。但是,需要注意的是,我正在尝试使用bit.ly来跟踪下载的统计信息。这就是我尝试来实现这种效果的方式。

我的.html文件:

<area shape="rect" coords="51,1004,303,1263" href="mp3_download?downloadurl=http://bit.ly/1byeeR7" id="cult_download" />

和我的php文件:

<?php 
$content = file_get_contents($_GET["downloadurl"]);
header("Content-Disposition: attachment;"); 
?>

这是我在How to save content/text of a web page by forcing save-as option上看到的。但是,它没有按预期工作。

建议更好的方法来跟踪下载的统计数据欢迎! 谢谢!

1 个答案:

答案 0 :(得分:2)

  1. 您可以通过Google Analytics跟踪下载:https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide#Labels

  2. 如果你想继续使用PHP来跟踪下载,你需要保护输入 - 请注意,任何东西都可以传递给downloadurl(例如路径到某些私有本地文件),你可以将它们服务到最终用户

  3. 如果你仍想通过php传递数据(尝试以这种方式下载一些大文件 - 你可能会用完memory_limit),你可以使用readfile,输入并将其传递给输出而没有内存问题(在the docs

  4. 中有一个很好的示例如何进行下载