hi,欢迎访问本站!
当前位置: 首页编程开发正文

php如何压缩文件

墨初 编程开发 1028阅读

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();
声明:无特别说明,转载请标明本文来源!
相关推荐