如何使用标题php下载zip文件而不将其保存在服务器上
发布时间:2020-12-13 16:33:52 所属栏目:PHP教程 来源:网络整理
导读:我有这个代码 ?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:
我有这个代码
<?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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 浅谈PHP的$_SERVER[SERVER_NAME]
- php – [%和[0%之间]的差异?
- php – AWS Cognito用户身份验证
- 如何让array_walk使用PHP内置函数?
- Swift语言中的switch语句的妙用
- php – 为什么file_get_contents比memcache_get更快?
- php – 如何在yii cgridview中使用x-editable启用或禁用可编
- Google Voice 短信发送接口PHP开源版(2010.5更新)
- php – Doctrine 1.2 hydrate方法 – 数组到模型对象
- php – Magento – setCustomPrice,setPrice,setOriginalCu