Я создаю zip-файл в PHP для загрузки пользователем. Я не получаю никаких ошибок от PHP или от проверки функции GetStatusString класса zipArchive. Но если я помещаю какие-то файлы в архив, то при попытке его открыть получаю ошибку "сжатая (заархивированная) папка недействительна или повреждена". Я проверил все файлы, которые добавляю, все в порядке. Единственное, о чем я могу думать, это то, что большие файлы вызывают проблемы. Но «большой» файл весит всего около половины мегабайта, и я не могу найти никакой документации об ограничении размера файла для zipArchive. Любые мысли о других вещах, чтобы попробовать, чтобы я мог отследить эту проблему? Спасибо.
Изменить: я сузил список до одного конкретного файла, который вызывает проблемы. Есть и другие, которые работают так же или больше, так что, пожалуй, отбросим эту мысль. Вот примеры имен файлов, которые работают нормально:
627 Jane.CCD.pdf
712 Example_DrNotes.pdf
625 Jane.Labs2.pdf
Да, в именах файлов есть пробелы... проблема с унаследованным кодом. Вот имя файла, которое не работает:
623 Джейн.Лаборатории.pdf
Не похоже, что это может быть проблема с именем файла. В конечном итоге это будет через Интернет, но я проверяю фактический zip-файл, который он создает на сервере, и именно здесь я получаю сообщение об ошибке.
Вот код:
$zip = new ZipArchive();
$zfileName = $GLOBALS["localUploadRoot"] . $zfile;
$requests = $this->getRequests(true);
foreach ($requests AS $r) {
if (file_exists($GLOBALS["localInboundRequests"] . $r["file"])) {
$zip->addFile($GLOBALS["localInboundRequests"] . $r["file"], $r["file"]);
}
}
$zip->close();
Изменить 2: извините, я не могу опубликовать файл. В нем есть личная информация.