| 
 
| ZipArchive::addFile()只能将文件压进压缩包,如果将一个目录的路径作为第一个参数传递给了ZipArchive的addFile()方法,不会报任何错误,而且返回值也是true,但是所有当前ZipArchive做的操作全部会失效。即:如果指定的压缩文件原本不存在,即使之前的代码成功将文件压进了压缩文件,最终这个压缩文件并不会保存在硬盘上, 如果指定的压缩文件原本就存在,ZipArchive不会对文件作出任何改变。所以,在调用ZipArchive::addFile()之前,一定要判断给定的参数是文件路径还是文件夹路径。 
 复制代码<?php
        $z = new ZipArchive;
        if(true === ($z->open('./foo.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE))){
                $z->setArchiveComment('Interesting!');
                $z->addFromString('domain.txt', 'wuxiancheng.cn');
                $folder = './test';
                !is_dir($folder) && mkdir($folder);
                if(true === $z->addFile($folder)){
                        echo 'success'; // !!!
                }
                rmdir($folder);
                $z->close();
        }
?>
 | 
 |