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);

更多相关文章

  1. android中socket编程
  2. Android创建XMl文件
  3. android input系统如何导入kl文件
  4. Android(安卓)SD卡,文件,文件夹工具
  5. 解决录音文件丢失问题
  6. Android: Intent.ACTION_SEND分享文件
  7. Android的drawable文件夹的说明
  8. Android(安卓)zip文件压缩解压缩
  9. android - 常用知识点以及代码片段(不断更新)

随机推荐

  1. Android沉浸式标题栏状态栏字体颜色修改(
  2. Android Canvas绘图详解(图文)
  3. Android(安卓)事件分发机制
  4. Android深入理解WebView——上
  5. 一个现代化的JSON库Moshi针对Android和Ja
  6. Android Selector
  7. Android事件分发机制完全解析,带你从源码
  8. Android NDK初识
  9. android中自己画一个按钮,和自己设置一个
  10. Android:可复制的TextView、EditText