я создаю zip-файл из массива, содержащего файлы, используя функцию, которую я сделал
function create_zip($files = array(),$destination = '',$overwrite = false) {
//if the zip file already exists and overwrite is false, return false
if(file_exists($destination) && !$overwrite) { return false; }
//create the archive
$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
//add the files
foreach($files as $file) {
$zip->addFile($file);
}
//debug
echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;
//close the zip -- done!
$zip->close();
//check to make sure the file exists
return file_exists($destination);
}
но когда я использую его с правильным массивом файлов — путь назначения доступен для записи, так как я создаю каталог по тому же пути непосредственно перед созданием zip, и он работает — он возвращает
«Zip-архив содержит 4 файла со статусом 0»
когда я проверяю папку во время отправки, я вижу файл с именем fileName.zip.0156a, и он удаляется через несколько секунд
и когда я пытаюсь получить ответ $ zip-> open, он возвращает 1
Задача ещё не решена.
Других решений пока нет …