php实现批量压缩下载的方法:【<?php $filename='test.zip'; if(file_exists($filename)){unlink($filename);} $zip=new ZipArchive(); …】。
本文操作环境:windows10系统、php 7、thinkpad t480电脑。
在php中我们可以借助于ZipArchive类来实现将文件批量压缩打包下载。
注意:
使用该类之前,linux需开启zlib,windows需取消php_zip.dll前的注释。
下面直接给出一个简单的将文件压缩为 zip 格式的示例。
<?php $filename='test.zip'; //最终生成的文件名(含路径) if(file_exists($filename)){ unlink($filename); } //重新生成文件 $zip=new ZipArchive(); if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){ exit('无法打开文件,或者文件创建失败'); } $datalist=array('try.php','zip_class.php'); foreach($datalist as $val){ if(file_exists($val)){ $zip->addFile($val); } } $zip->close();//关闭 if(!file_exists($filename)){ exit('无法找到文件'); //即使创建,仍有可能失败 }
备注:
//向压缩包中添加文件(addFile的第二参数表示,替换的名称,若不写则按照前面的命名,当然如果是带目录,在压缩包中也会生成一个文件夹) $zip->addFile("./down.php","testfromfile.php"); $zip->addFile('img/images-3.jpg','new.jpg'); echo "numfiles: " . $zip->numFiles . "n"; echo "status:" . $zip->status . "n";
推荐学习:php培训