【发布时间】:2012-09-19 17:16:30
【问题描述】:
我正在尝试制作一个简单的脚本来做两件事:
- 提供一个文件并隐藏它的目的地
- 有下载计数器
现在,我在 wordpress 环境中执行此操作,但这个问题并不完全与 wordpress 相关,所以我想我会在这里问。
基本上,我目前设置它的方式是我有一个链接,当您单击它时会设置一个$_['GET'],然后检查它是否已设置。如果已设置,则提供下载文件。
链接:<a href="http://localhost:8888/fresh/?dl_id=01">Click here!</a>'
$_['GET'] 代码:http://pastebin.com/93nD43gA
代码中有一点 wordpress 行话,但基本上是检查下载计数 user_meta,如果 > 0,则调用 serveFile()。
我在这里遇到的主要问题是,如果我单击链接,readfile() 会将实际文件内容加载到窗口中(乱码文本)。如果我将target=_blank 添加到<a>,它将打开一个新的浏览器窗口并将内容加载到窗口中。
当我将它作为独立的 php 文件执行时,这种方法似乎工作得很好。我的主要问题是我需要保留 wordpress 空间,以便我可以调用与之关联的函数等。
我尝试在 self 页面、带有自定义模板的另一个页面(上面的 pastebin 中的代码)以及独立的 php 文件中使用 $_['GET']。前两个选项都将文件加载到窗口中。第三个不保留 wordpress 功能,即使我包含 blog-header.php。
谁能指出如何让文件强制下载而不加载到窗口中的正确方向?
【问题讨论】:
标签: php wordpress readfile force-download