В одном скрипте мне нужно сделать следующее:
- создать архив из файлов в каталоге
- принудительная загрузка вновь созданного zip
Моя проблема в том, что всякий раз, когда я пытаюсь сделать это одним скриптом,
скачанный почтовый индекс поврежден (размер файла в порядке, хотя). Если я сработаю
обрабатывает в двух отдельных скриптовых вызовов, загруженный почтовый индекс в порядке.
Полагаю, проблема в том, что процесс zip-сохранения в файл не полностью
закончено до начала загрузки. Странно, это не решает проблему
вставьте спящий режим (3) между процессами ... Схема кода ниже.
Как убедиться, что zip-файл полностью завершен до начала принудительной загрузки?
С уважением / Джонас
// 1. create a zip
$createZipFile = new CreateZipFile('temp.zip');
$createZipFile->zipDirectory('temp/', '.');
$createZipFile->saveZipFile();
sleep(3); // <-- Doesn't matter!
// 2. force zip download
$fileServer = new FileServer();
// Line below gives a corrupted zip when run in same script as 1.
$fileServer->forzeDownload('temp.zip');