Столкнувшись с проблемами при создании почтового индекса с использованием flysystem-ziparchive - PullRequest
0 голосов
/ 15 мая 2018

У меня есть существующий zip-файл. Я сталкиваюсь с ошибкой при попытке сделать ниже, используя flysystem-ziparchive разархивирован в каталог удалил почтовый файл удалил некоторые ненужные файлы в каталоге создать почтовый индекс с тем же именем и тем же местоположением из каталога. 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 голосов
/ 16 мая 2018

Я исправил эту проблему, сбросив путь к zipAdapter перед созданием zip.

$ localAdapter = новая файловая система (новый LocalAdapter ($ directoryName));

...