1.php文件压缩代码:
$zip = new ZipArchive;
if($zip->open(\'aaa.zip\',ZipArchive::OVERWRITE)===TRUE){ //aaa.zip 要压缩成zip文件名
$zip->addFile(\'C:/wamp/www/test_demo/PHPUnZip/aaa.txt\'); //需要压缩的围巾啊
$zip->close();
echo \'ok\';
} else {
echo \'failed\';
}
2.解压
$zip=new ZipArchive;//新建一个ZipArchive的对象
if($zip->open(\'test.zip\')===TRUE){
$zip->extractTo(\'images\');//假设解压缩到在当前路径下images文件夹内
$zip->close();//关闭处理的zip文件
}
3.文件追加到压缩文件
$zip=new ZipArchive;
$res=$zip->open(\'test.zip\',ZipArchive::CREATE);
if($res===TRUE){
$zip->addFromString(\'test.txt\',\'file content goes here\');
$zip->close();
echo \'ok\';
}else{
echo \'failed\';
}
4.文件夹压缩成zip文件
function addFileToZip($path,$zip){
$handler=opendir($path); //打开当前文件夹由$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(\'images.zip\', ZipArchive::OVERWRITE)=== TRUE){
addFileToZip(\'images/\', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close(); //关闭处理的zip文件
}