添加zip不会做任何事情

时间:2016-05-17 14:39:04

标签: php zip

我正在尝试使用此功能压缩一些文件夹:

public function generate_zip($directory,$name_of_the_folder){
        $rootPath = realpath($directory);
        $zip = new ZipArchive();
        $zip->open('path/to/my/zip/compressed.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
        $zip->addFile($rootPath,$name_of_the_folder);
        $zip->close();
    }

这确实没什么。我已经检查了权限,它们似乎是正确的。

2 个答案:

答案 0 :(得分:1)

使用ZipArchive时,无法使用ZipArchive::addFile()添加空目录。您必须使用ZipArchive::addEmptyDir()。 对于您的情况,我认为您想要的是ZipArchive::addGlob()

答案 1 :(得分:0)

根据文档,功能' addFile'想要两个文件名:第一个是本地文件的路径(您要添加到zip中),第二个(可选)参数是您希望文件在zip中显示的方式。

您有一个变量' $ name_of_the_folder'。这包含正确的值吗?

Php.net文档:http://php.net/manual/en/ziparchive.addfile.php