Накатал такой вот код:
/* Создание архива */
$zip = new ZipArchive;
if ($zip->open($temporary_dir.$save.".zip", ZipArchive::CREATE) === true){
$zip->addFile($temporary_dir.$save.".html", "index.html");
/* Обработка файлов */
if (file_exists ($src_dir)) {
if (is_dir($src_dir)) {
$dirHandle = opendir($src_dir);
while (false !== ($file = readdir($dirHandle))) {
$zip->addFile($src_dir.$file, $archive_dir.$file);}}}
if (file_exists ($src_dir_images)) {
if (is_dir($src_dir_images)) {
$dirHandle = opendir($src_dir_images);
while (false !== ($file = readdir($dirHandle))) {
$zip->addFile($src_dir_images.$file, $archive_dir_images.$file);}}}
$close = $zip->close();
Под Windows'е, PHP Version 5.2.6 всё прекрасно работает!
Вот скриншот содержимого полученного архива:
А вот как это работает в Linux'е, PHP Version 5.2.17:
И при извлечении странные ошибки, мол "Уже существует, заменить?", а потом ошибка извлечения и т.д...
Как можно решить такую проблему?