Я использую ZipArchive класс для генерации и загрузки zipFile. Это должно быть работа на PHP 5.2.14.
Отлично работает на php 5.3.x с этим кодом:
$filename = "test.zip";
$zip = new ZipArchive();
$opened = $zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
$zip->addFromString(...,...);
$zip->close();
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/zip');
readfile("$filename");
exit();
На php 5.2.14 он создает пустой (размер 0 байт) zip-файл. Если я удалю выход() Инструкция выдает поврежденный почтовый файл.
Решения?
я публикую часть моей программы, которая использует класс ZipArchive
$this->licensePlate = "AA000AA";
$this->fileName = "path/to/file/tmp.zip";
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="Foto_'.$this->licensePlate.'.zip"');
readfile($this->fileName);
Вы действительно добавляете файлы в ZipArchive?
Вы уверены, что у вас есть разрешение на создание ZipArchive?
Других решений пока нет …