如果我为一个zip文件创建href一个链接的URL 并单击该链接,我的zip文件将被下载并打开它获取我期望的内容.
这是HTML:
<a href="http://mysite.com/uploads/my-archive.zip">download zip</a>
Run Code Online (Sandbox Code Playgroud)
问题是我想指向我的应用程序的链接,以便我可以确定用户是否有权访问此zip文件.
所以我希望我的HTML是这样的:
<a href="/canDownload">download zip</a>
Run Code Online (Sandbox Code Playgroud)
和我的PHP /canDownload页面:
//business logic to determine if user can download
if($yesCanDownload){
$archive='https://mysite.com/uploads/my-archive.zip';
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=".basename($archive));
header("Content-Length: ".filesize($archive));
ob_clean();
flush();
echo readfile("$archive");
}
Run Code Online (Sandbox Code Playgroud)
所以,我认为这个问题与header()代码有关,但我已经尝试了一些基于各种谷歌和其他SO建议相关的东西,但没有工作.
如果你回答我的问题,很可能你也可以回答这个问题:带有PHP的压缩文件在提取后产生cpgz文件