Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何只允许我的PHP文件下载文件?_Php - Fatal编程技术网

如何只允许我的PHP文件下载文件?

如何只允许我的PHP文件下载文件?,php,Php,我只希望我的download.php文件(在我的wwebsite上)能够下载我的Java.zip文件 因此,我创建了.htaccess文件,其中有: <files Java.zip> Order allow,deny Deny from all </files> 命令允许,拒绝 全盘否定 所以,当我访问url时,有一个好的访问被拒绝,这很好 但是现在,我希望我的PHP文件能够自动下载Java.zip(在加载页面后大约3秒钟内),那么,如何做到这一点呢 我用谷

我只希望我的download.php文件(在我的wwebsite上)能够下载我的Java.zip文件 因此,我创建了.htaccess文件,其中有:

<files Java.zip>
  Order allow,deny
  Deny from all
</files>

命令允许,拒绝
全盘否定
所以,当我访问url时,有一个好的访问被拒绝,这很好

但是现在,我希望我的PHP文件能够自动下载Java.zip(在加载页面后大约3秒钟内),那么,如何做到这一点呢


我用谷歌做了研究,但什么也没发现。。。我需要帮助

如果要强制从php文件下载,应使用和在标题中指定此操作


关于。

使用适当的标题no,而不是readfile,因为当我通过url转到download.php时,它会下载文件,而不会加载download.php页面。我,我想加载我的页面download.php,然后用headers读取readfile('Java.zip')。你不能下载一个文件,同时显示一个新的html页面;http也只允许一个响应request@MathieuNightown考虑在页面加载后3秒内使用Ajax请求,我如何才能…1.我用index.html支付starpass。。。。。。2.如果paiement没有问题,我就去download.php(starpass脚本没有问题)。。。。。。。3.只有在加载download.php之后,我才想下载我的文件。。。。我不希望访问者直接从URL下载文件write download.php…我希望我的download.php文件只有在download.php成功加载后才能下载Java.zip。。。因为在我的download.php文件的顶部,我有一个starpass脚本,只有在付款情况良好时才允许加载download.php。一旦starpass脚本检查付款,或者尝试使用参数“激活”标题重新加载站点,您可以使用js进行重定向。当做一个js来重定向到Java.zip?是的,但它会起作用吗?因为我从.htaccess-deny-from-all阻止了Java.zip…它不适用于js重定向,因为我从.htaccess-deny-from-all阻止了Java.zip。有关信息,我只希望js重定向能够从download.php下载Java.zip。但我不想让访问者直接从url中键入Java.zip下载……我们知道我用starpass发送了一个软件吗?
header('Content-disposition: attachment; filename=Java.zip');
header('Content-type: application/zip');
readfile($PATH_TO_YOUR_FILE);
exit;