(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)
ZipArchive::addFile — Добавляет в ZIP-архив файл по указанному пути
$filename
[, string $localname
= NULL
[, int $start
= 0
[, int $length
= 0
]]] )Добавляет в ZIP-архив файл по указанному пути.
Замечание: Для максимальной переносимости, рекомендуется всегда использовать прямые слеши (/) в качестве разделителя директорий в именах файлов.
filename
Путь к файлу для добавления.
localname
Имя файла внутри ZIP-архива. Если указано, то переопределит filename
.
start
Этот параметр не используется, но необходим для будущего развития ZipArchive.
length
Этот параметр не используется, но необходим для будущего развития ZipArchive.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
В данном примере открывается файл ZIP-архива test.zip и в него добавляется файл /path/to/index.txt под именем newname.txt.
Пример #1 Открыть и добавить
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFile('/path/to/index.txt', 'newname.txt');
$zip->close();
echo 'ok';
} else {
echo 'ошибка';
}
?>
Замечание:
В процессе добавления файла в архив, PHP заблокирует файл. Разблокировка произойдет только после закрытия объекта ZipArchive, путем вызова ZipArchive::close() или уничтожения объекта ZipArchive. Это предотвращает удаление только что добавленного в архив файла до того, как он будет разблокирован.