(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)
ZipArchive::open — Открывает ZIP-архив
Открывает новый ZIP-архив для чтения, записи или изменения.
filename
Имя ZIP-архива для открытия.
flags
Используемый режим открытия файлов.
Коды ошибок
Возвращает TRUE
при успешном завершении или код ошибки.
ZipArchive::ER_EXISTS
Файл уже существует.
ZipArchive::ER_INCONS
Несовместимый ZIP-архив.
ZipArchive::ER_INVAL
Недопустимый аргумент.
ZipArchive::ER_MEMORY
Ошибка динамического выделения памяти.
ZipArchive::ER_NOENT
Нет такого файла.
ZipArchive::ER_NOZIP
Не является ZIP-архивом.
ZipArchive::ER_OPEN
Невозможно открыть файл.
ZipArchive::ER_READ
Ошибка чтения.
ZipArchive::ER_SEEK
Ошибка поиска.
Пример #1 Открытие и извлечение
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
echo 'готово';
$zip->extractTo('test');
$zip->close();
} else {
echo 'ошибка с кодом:' . $res;
}
?>
Пример #2 Создание архива
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('test.txt', 'содержимое файла');
$zip->addFile('data.txt', 'entryname.txt');
$zip->close();
echo 'готово';
} else {
echo 'ошибка';
}
?>