PHP压缩文件夹 php

Posted 史亚运

tags:

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

$path = PUBLIC_DIR.\'/images/\';    //待压缩文件夹父目录
$zipPath = PUBLIC_DIR.\'/images_zip/\'; //压缩文件保存目录

!is_dir($zipPath) ? mkdir($zipPath, 0755, true) : \'\';

// Initialize archive object
$zip = new ZipArchive();

$dir_list = scandir($path);

if (empty($dir_list)) {
    return false;
}

foreach($dir_list as $dir_name) {
    if ($dir_name == \'.\' || $dir_name == \'..\') {
        continue;
    }
    $dir_path = $path.$dir_name;    //待压缩目录
    if (!is_dir($dir_path)) {
        continue;
    }

    $zipFile = $zipPath.$dir_name.\'.zip\';   //压缩包名称
    $zip->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE);

    $file_list = scandir($dir_path);    //文件名
    foreach ($file_list as $file_name) {
        if ($file_name == \'.\' || $file_name == \'..\') {
            continue;
        }

        $zip->addFile($dir_path.\'/\'.$file_name, $file_name);    //第二个参数使压缩文件名为待压缩文件原名(否则压缩包里会有多级目录)

    }
    $zip->close();

}  

待压缩文件夹:

 

 

压缩后压缩包:

 

 

打开压缩包看效果:

 

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

PHP常用代码片段

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

PHP必用代码片段

超级有用的9个PHP代码片段

php ZipArchive 压缩整个文件夹 - 自带ZipArchive类 - PHP递归创建目录压缩包

php ZipArchive 压缩整个文件夹 - 自带ZipArchive类 - PHP递归创建目录压缩包