php如何压缩文件
墨初 编程开发 1810阅读
php可以通过压缩的方法备份文件,下面是php压缩文件的方法,可以参考一下。
php压缩单个文件的方法
php压缩单个文件,只需要将文件写入到压缩包即可。
例:
# 73so.com $path = "robots.txt"; //要压缩的文件 $filename = "txt.zip"; //压缩后的文件 $zip = new ZipArchive(); $zip->open($filename,ZipArchive::CREATE); //打开压缩包 $zip->addFile($path,basename($path)); //向压缩包中添加文件 $zip->close(); //关闭压缩包
php压缩多个文件的方法
php压缩多个文件到一个压缩包,和压缩单个文件一样,只需要把要压缩的文件添加到压缩包即可。
例:
# 73so.com
$files = array(
'xiazaiad1.jpg',
'xiazaiad2.jpg',
'robots.txt'
); //被压缩的所有文件
$filename = "t.zip"; //压缩后的文件名
$zip = new ZipArchive();
$zip->open($filename,ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file,basename($file));
}
$zip->close();php压缩整个文件夹的方法
php压缩整个文件夹,需要单独自定义一个函数把要压缩文件夹内的所有文件写入到压缩包中!
例:
# 73so.com
function addFileToZip($path,$zip){
$handler = opendir($path);
while(($filename=readdir($handler))!==false){
if($filename != "." && $filename != ".."){
if(is_dir($path."/".$filename)){
addFileToZip($path."/".$filename, $zip);
}else{
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}
$zip = new ZipArchive();
$zipname = 'file.zip'; //压缩后文件名
$zip->open($zipname, ZipArchive::CREATE);
$zip_file = 'zb_users/'; //要压缩的文件路径
addFileToZip($zip_file, $zip);
$zip->close();