php – 打开下载的zip文件创建cpgz文件?

如果我为一个zip文件的url创建一个链接的href并单击该链接,我的zip文件会被下载并打开它获取我期望的内容.

这是HTML

<a href="http://mysite.com/uploads/my-archive.zip">download zip</a>

问题是我想指向我的应用程序的链接,以便我可以确定用户是否有权访问此zip文件.

所以我希望我的HTML是这样的:

 <a href="/canDownload">download zip</a> 

和我的PHP for / 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");
}   

所以,我认为问题与header()代码有关,但我已经尝试了一些基于各种谷歌和其他SO建议相关的事情,但没有工作.

如果你回答我的问题,很可能你也可以回答这个问题:Zipped file with PHP results in cpgz file after extraction

解决方法:

我的答案是在readfile()之前输出一个空行.

所以我补充说:

ob_end_clean();

readfile($filename);

但您应该搜索代码输出此行的位置.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...