如何使用标题php下载zip文件而不将其保存在服务器上

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何使用标题php下载zip文件而不将其保存在服务器上脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码
<?PHP
$files = array('includes/s.xlsx','includes/test.htML');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->oPEn($zipname,ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->adDFile($file);
 }
$zip->close();


header('Content-type: application/zip');
header('Content-disposITion: attachment; filename=filename.zip');
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

但我不想将zip文件保存到服务器,我只是想将它提供给用户.

ZIP不是可流式格式(目标需要支持搜索,即ZIP文件不能简单地写入无法重新读取和修改以前写入的数据的目标),您尝试做的事情无法正常工作.所以最好的解决方案(如果你的zip文件不会很大)是在临时位置创建它,readfile()它然后删除临时文件.

请参阅以下Stack Overflow问题以获取进一步参考.它们包含一些可能适合您的解决方法

> Zip Stream in PHP
> LAMP: How to create .Zip of large files for the user on the fly,without disk/CPU thrashing

脚本宝典总结

以上是脚本宝典为你收集整理的如何使用标题php下载zip文件而不将其保存在服务器上全部内容,希望文章能够帮你解决如何使用标题php下载zip文件而不将其保存在服务器上所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。