我有一个现有的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']));
}
}
答案 0 :(得分:0)
我通过在创建zip之前重置zipAdapter路径来修复此问题。
$ localAdapter = new Filesystem(new LocalAdapter($ directoryName));