Невозможно создать zip-архив в PHP, всегда возвращает ZIPARCHIVE :: ER_MULTIDISK
$fileName=$_SERVER['DOCUMENT_ROOT'].'/temp/temp.zip'; $zip = new ZipArchive(); $err=$zip->open($fileName,ZipArchive::CREATE); $zipFileFunctionsErrors = array(0=>'OK', ZIPARCHIVE::ER_MULTIDISK => 'Multi-disk zip archives not supported.', ..., ... ); echo $zipFileFunctionsErrors[$err]; $zip->addFromString('empty.txt', ''); $zip->close();
Выходы
Multi-disk zip archives not supported
zip-файл не создан
на локальном компьютере работает код
Я думаю, что ваша проблема должна быть чем-то вроде версии php, звучит так: (из комментариев php.net):
Некоторые старые версии PHP, используемые для возврата false, если zip_open не удалось, а более новые версии возвращают количество ошибок (как целое), поэтому вместо этого:
$zip = zip_open($zip_file); if ($zip) { // consider zip file opened successfully }
использовать это:
$zip = zip_open($zip_file); if (is_resource($zip)) { // consider zip file opened successfully }
Похоже, вы получаете первый нецифровой индекс из массива, возможно, '1' как 'true', и именно поэтому он отображает элемент '1' в вашем массиве ошибок
Сначала проверьте, можете ли вы создавать файлы с php на стороне сервера. Может возникнуть проблема идентификации. php может работать на ie: apache id, а ваш id – вашFtpId ..
Затем проверьте, поддерживается ли zip-библиотека php на сервере, это может показать phpinfo.
Затем проверьте, позволяет ли ваша конфигурация сервера выполнять команды zip с php.
Когда эта диагностика закончится, если вы обнаружите проблему с ними, вы должны обратиться к администратору сервера, чтобы решить их.