php 文件压缩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 文件压缩相关的知识,希望对你有一定的参考价值。


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文件
}


 

 

以上是关于php 文件压缩的主要内容,如果未能解决你的问题,请参考以下文章

PHP下载压缩包文件

PHP执行Linux命令行小例——文件压缩

PHP 生成压缩包,PHP多个文件合并成压缩包,PHP压缩包, PHP ZipArchive thinkphp 将多个文件合并成压缩包

文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

dedecms中提取的zip压缩文件操作类zip.class.php

PHP实现压缩文件夹内所有图片的分辨率