php压缩文件,php解压缩文件
1、PHP Zip File 简介
压缩文件函数允许我们读取压缩文件。
2、1.压缩文件,代码如下:
//将文件压缩为zip文件
$zip=new ZipArchive();
if($zip->open('note.zip',ZipArchive::OVERWRITE)===TRUE){
$zip->addFile('note.txt');
$zip->close();
}
如图所示,将note.txt文件压缩;
3、2.解压缩文件,代码如下:
//将zip文件解压
$zip=new ZipArchive();
if($zip->open('note.zip')===TRUE){
$zip->extractTo('note2.txt');
$zip->close();
}
如图所示:将note.zip解压为note2文件夹,文件夹中含有note.txt;
4、3.追加文件内容到zip文件(会覆盖掉原先的内容),代码如下:
//追加文件内容到zip文件
$zip=new ZipArchive;
$res=$zip->open('note.zip',ZipArchive::CREATE);
if($res===TRUE){
$zip->addFromString('note.txt','原来的内容会被覆盖掉');
$zip->close();
echo '压缩完成!';
}else {
echo '压缩失败!';
}
如图所示,将新内容追加到了zip压缩文件内,但是之前的内容被新内容覆盖掉了;
5、4.将文件夹压缩为zip文件(递归),代码如下:
//文件夹压缩为zip文件
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对象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}
//调用上面函数
$zip=new ZipArchive();
if($zip->open('share.zip', ZipArchive::OVERWRITE)=== TRUE){
addFileToZip('ex/share/', $zip);
$zip->close();
}
如图所示,将ex文件夹压缩为share.zip文件;
6、5.PS:解压文件夹同方法2一致,这里就不做演示了。
如果您觉得该经验对您有用,请点击页面右上角上的【大拇指】或【投票TA】或【关注TA】给我一个支持。如果怕下次找不到该经验,请点击页面右上角上的【五角星】收藏该篇经验。