Создание ZIP

ZIP-архив создаётся через команду $zip->open(), с параметром ZIPARCHIVE::CREATE (данный параметр указывает, что если нет указанного архива, то его надо создать).

$zip = new ZipArchive();
$zip->open('archive.zip', ZIPARCHIVE::CREATE);

Добавляются файлы в архив через метод addFile().

$zip->addFile('./file.txt', 'save_as_name.txt');

Для файлов с русским названием надо преобразовывать кодировку в cp866 (WinRar использует кодироку cp866 для чтения кириллицы).

$zip->addFile('./file.txt', iconv('utf-8', 'cp866', 'имя_файла.txt'));