PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018-09-07 14:43
本文实例讲述了PHP实现将多个文件压缩成zip格式并下载到本地的方法。分享给大家供大家参考,具体如下:
废话不多说,直接上代码
//这里需要注意该目录是否存在,并且有创建的权限 $zipname = path/test.zip //这是要打包的文件地址数组 $files = array(mypath/test1.txt,mypath/test2.pdf); $zip = new ZipArchive(); $res = $zip->open($zipname, ZipArchive::CREATE); if ($res === TRUE) { foreach ($files as $file) { //这里直接用原文件的名字进行打包,也可以直接命名,需要注意如果文件名字一样会导致后面文件覆盖前面的文件,所以建议重新命名 $new_filename = substr($file, strrpos($file, /) + 1); $zip->addFile($file, $new_filename); } } //关闭文件 $zip->close(); //这里是下载zip文件 header(Content-Type: application/zip); header(Content-Transfer-Encoding: Binary); header(Content-Length: . filesize($zipname)); header(Content-Disposition: attachment; filename=\ . basename($zipname) . \); readfile($zipname); exit;
附:这里再为大家提供一个zip压缩类:
用法:
$zipfiles =array(/root/pooy/test1.txt,/root/pooy/test2.txt); $z = new PHPZip(); //$randomstr = random(8); $zipfile = TEMP./photocome_.$groupid..zip; $z->Zip($zipfiles, $zipfile);
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP操作zip文件及压缩技巧总结》、《php文件操作总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
文章标题:PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
文章链接:http://soscw.com/index.php/essay/13798.html