php 文件压缩zip扩展

Posted 平凡的世界

tags:

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

<?php


    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();

    $file=date("YMD").".zip";
    fopen($file,‘w‘);//在windows环境下可以省略这句,但是在liunx环境下最好加上,因在有的liunx环境下ZipArchive::CREATE
方法无法自动创建文件,会导致文件压缩失败。

if ($zip->open($file, ZipArchive::CREATE) ===TRUE) { if(file_exists($file)) { addFileToZip(‘test‘, $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法 }else{ echo "文件不存在"; } //关闭处理的zip文件 if($zip->close()){ return true; }else{ return false; } } else { echo "失败"; }

  



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

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩

PHP扩展类ZipArchive实现压缩Zip文件和文件打包下载

PHP的zip压缩工具扩展包学习

PHP下载压缩包文件

zip

PHP 错误:“zip 扩展名和解压缩命令都丢失,正在跳过。”