使用flysystem-ziparchive创建zip时遇到问题

时间:2018-05-15 12:56:14

标签: php filesystems zip

我有一个现有的zip文件。我在使用flysystem-ziparchive尝试执行以下操作时遇到错误 解压缩到目录 删除了zip文件 删除了目录中的一些不必要的文件 从目录创建一个具有相同名称和相同位置的zip。 zip与现有的zip文件相同,而不是更新的目录内容。 如果创建具有不同名称或不同位置的zip,则会正确发生。 样本编码:

$zipAdapter = new Filesystem(new ZipArchiveAdapter($zipFile));
$localAdapter = new Filesystem(new LocalAdapter($directoryName));

//unzip to a folder
unZip($directoryName, $zipFile);

//Deleting zip file
unlink($zipFile);

$zipAdapter->createZip($directoryName);

//method to create zip
public function createZip($directory)
    {
        //get list of files from source
        $files = $localAdapter->listContents();

        //Create zip
        foreach ($files as $file)
        {
            $zipAdapter->putStream($file['basename'], $this->local->readStream($file['basename']));
        }
    }

1 个答案:

答案 0 :(得分:0)

我通过在创建zip之前重置zipAdapter路径来修复此问题。

$ localAdapter = new Filesystem(new LocalAdapter($ directoryName));