登录  /  注册
博主信息
博文 51
粉丝 0
评论 1
访问量 81289
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP ZipArchive 打包文件进行下载
鱼的熊掌
原创
1132人浏览过

header(‘Content-Type:text/html; charset= utf-8’);

  1. $zipname='压缩文件名称';
  2. $zip = new ZipArchive;
  3. //压缩文件名 中文转gbk
  4. $filename = iconv('utf-8', 'gbk//ignore', 'Down/'.$zipname).'.zip';
  5. //1.先判断文件是否已存在
  6. //2.文件已存在的情况下,则需要删除文件重新生成
  7. //文件是否删除根据需求而定
  8. if (file_exists($filename)) {
  9. unlink($filename);
  10. }
  11. //检验压缩文件是否创建
  12. if ($zip->open($filename, \ZipArchive::OVERWRITE | \ZipArchive::CREATE)!==TRUE) {
  13. exit('无法打开文件,或者文件创建失败');
  14. }
  15. //文件路径要以绝对路径 例:http://baidu.com/1.txt 否则下载的文件大小为0,打开显示文件已损坏
  16. $file_path=file_get_contents('文件路径');
  17. $zip->addFile($file_path,'文件目录/文件名称'); //添加文件到压缩里
  18. //存在特殊符号使用
  19. $zip->addFromString( iconv('utf-8', 'gbk//ignore', '文件名称'),$file_path);
  20. //关闭
  21. $zip->close();
  22. //即使创建,仍有可能失败
  23. if(!file_exists($filename)){
  24. exit("无法找到文件");
  25. }
  26. //可以直接重定向下载
  27. //header('Location:'.$filename);
  28. //或者输出下载
  29. header("Cache-Control: public");
  30. header("Content-Description: File Transfer");
  31. header('Content-disposition: attachment; filename='.basename($filename)); //文件名
  32. header("Content-Type: application/force-download");
  33. header("Content-Transfer-Encoding: binary");
  34. header('Content-Length: '. filesize($filename)); //告诉浏览器,文件大小
  35. readfile($filename);
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学