ZipArchive::addFile
(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)
ZipArchive::addFile — Добавляет в ZIP-архив файл по указанному пути
Описание
$filename
, string $entryname
= null
, int $start
= 0
, int $length
= 0
, int $flags
= ZipArchive::FL_OVERWRITE
) : boolДобавляет в ZIP-архив файл по указанному пути.
Замечание: Для максимальной переносимости, рекомендуется всегда использовать прямые слеши (
/
) в качестве разделителя директорий в именах файлов.
Список параметров
-
filename
-
Путь к файлу для добавления.
-
entryname
-
Имя файла внутри ZIP-архива. Если указано, то переопределит
filename
. -
start
-
Для частичного копирования начальная позиция.
-
length
-
Для частичного копирования - длина копируемого файла, если 0 или -1, используется весь файл (начиная с
start
). -
flags
-
Битовая маска, состоящая из
ZipArchive::FL_OVERWRITE
,ZipArchive::FL_ENC_GUESS
,ZipArchive::FL_ENC_UTF_8
,ZipArchive::FL_ENC_CP437
. Поведение констант описано на странице ZIP-константы.
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
8.0.0 / 1.18.0 |
Добавлен параметр flags .
|
Примеры
В данном примере открывается файл 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 'готово';
} else {
echo 'ошибка';
}
?>
Примечания
Замечание:
В процессе добавления файла в архив, PHP заблокирует файл. Разблокировка произойдет только после закрытия объекта ZipArchive, путем вызова ZipArchive::close() или уничтожения объекта ZipArchive. Это предотвращает удаление только что добавленного в архив файла до того, как он будет разблокирован.