用WinRAR解压没有问题,但是用7-zip以及手机(例如MIUI自带)解压都会显示损坏。。。
有没哪个大佬给一段php压缩类,解决这个问题
香港网友:
- $zip = new ZipArchive; //首先实例化这个类
- if ($zip->open($zipname,ZipArchive::OVERWRITE) === TRUE) { //然后查看是否存在test.zip这个压缩包
- $zip->addFromString($filename ,$xxx);
- $zip->addFromString($filename2,$xxx2);
- $zip->close(); //关闭
- echo ‘ok’;
- } else {
- echo ‘failed’;
- }
- $fp=fopen($filePath,"r");
- $file_size=filesize($filePath);
- //下面是输出下载;
- header ( "Content-type: application/octet-stream" );
- header ( "Accept-Ranges: bytes" );
- header("Accept-Length:".$file_size);
- header ( ‘Content-disposition: attachment; filename=’ . basename ( $zipname ) ); // 文件名
- //header ( "Content-Type: application/zip" ); // zip格式的
- //header ( "Content-Transfer-Encoding: binary" ); // 告诉浏览器,这是二进制文件
- //header ( ‘Content-Length: ‘ . filesize ( $zipname ) ); // 告诉浏览器,文件大小
- $buffer=1024; //设置一次读取的字节数,每读取一次,就输出数据(即返回给浏览器)
- $file_count=0; //读取的总字节数
- @readfile ( $zipname );//输出文件;
- //向浏览器返回数据
- while(!feof($fp) && $file_count<$file_size)
- {
- $file_con=fread($fp,$buffer);
- $file_count+=$buffer;
- echo $file_con;
- }
- fclose($fp);
复制代码
未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » php压缩zip,压缩包损坏