ZipArchive::addFile

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::addFileДобавляет в ZIP-архив файл по указанному пути

Описание

public ZipArchive::addFile ( string $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. Это предотвращает удаление только что добавленного в архив файла до того, как он будет разблокирован.

Смотрите также