原生

PHP把文件夹打包成ZIP文件

作者:本站 2017-05-31 浏览:2004 标签: PHP    ZIP    压缩    

5.2版本以上的PHP是支持直接压缩ZIP文件的。所有首先确认你的PHP版本是5.2以上,其次去看一下php.ini文件里面的 extension=php_zip.dll 前面分号是否去掉,确认好上面2步骤,就可以使用PHP的ZIP功能了。

   5.2版本以上的PHP是支持直接压缩ZIP文件的。所有首先确认你的PHP版本是5.2以上,其次去看一下php.ini文件里面的 extension=php_zip.dll 前面分号是否去掉,确认好上面2步骤,就可以使用PHP的ZIP功能了。


示例代码

//把down里面的123456文件夹打包成test123.zip

$zip=new ZipArchive();
if($zip->open('down/test123.zip', ZipArchive::OVERWRITE)=== TRUE){
    addFileToZip('down/123456', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
    $zip->close(); //关闭处理的zip文件
}

//php将文件夹打包成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);
}


  • 0

  • 0

  • 1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.如有文章有版权争议,请给我们留言或者邮件告知我们,邮箱地址:028mw@126.com。