php压缩zip,压缩包损坏

搬瓦工机场JMS

用WinRAR解压没有问题,但是用7-zip以及手机(例如MIUI自带)解压都会显示损坏。。。
有没哪个大佬给一段php压缩类,解决这个问题
香港网友:

  1. $zip = new ZipArchive; //首先实例化这个类
  2. if ($zip->open($zipname,ZipArchive::OVERWRITE) === TRUE) {  //然后查看是否存在test.zip这个压缩包
  3.         $zip->addFromString($filename ,$xxx);
  4.         $zip->addFromString($filename2,$xxx2);
  5.     $zip->close(); //关闭
  6.     echo ‘ok’;
  7. } else {
  8.     echo ‘failed’;
  9. }
  10. $fp=fopen($filePath,"r");
  11. $file_size=filesize($filePath);
  12. //下面是输出下载;
  13. header ( "Content-type: application/octet-stream" );
  14. header ( "Accept-Ranges: bytes" );
  15. header("Accept-Length:".$file_size);
  16. header ( ‘Content-disposition: attachment; filename=’ . basename ( $zipname ) ); // 文件名
  17. //header ( "Content-Type: application/zip" ); // zip格式的
  18. //header ( "Content-Transfer-Encoding: binary" ); // 告诉浏览器,这是二进制文件
  19. //header ( ‘Content-Length: ‘ . filesize ( $zipname ) ); // 告诉浏览器,文件大小
  20. $buffer=1024;  //设置一次读取的字节数,每读取一次,就输出数据(即返回给浏览器)  
  21. $file_count=0; //读取的总字节数  
  22. @readfile ( $zipname );//输出文件;
  23. //向浏览器返回数据   
  24. while(!feof($fp) && $file_count<$file_size)
  25. {   
  26. $file_con=fread($fp,$buffer);   
  27. $file_count+=$buffer;   
  28. echo $file_con;   
  29. }   
  30. fclose($fp);  

复制代码

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » php压缩zip,压缩包损坏

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏