ZipArchive::extractTo

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

ZipArchive::extractToИзвлекает содержимое архива

Описание

publicZipArchive::extractTo(string$pathto, array|string|null$files = null): bool

Извлечение всего архива или его части в указанное место назначения.

Внимание

Разрешения по умолчанию для извлечённых файлов и каталогов дают максимально широкий доступ. Это можно ограничить, установив текущую маску разрешений umask функцией umask().

По соображениям безопасности исходные разрешения не восстанавливаются. Примеры того, как их восстановить, показаны на странице с описанием метода ZipArchive::getExternalAttributesIndex().

Список параметров

pathto

Директория, в которую нужно извлекать файлы.

files

Элементы для извлечения. Может принимать как одно значение, так и массив записей.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Извлечь всё содержимое

<?php
$zip
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
$zip->extractTo('/my/destination/dir/');
$zip->close();
echo
'готово';
} else {
echo
'ошибка';
}
?>

Пример #2 Извлечь два элемента

<?php
$zip
= new ZipArchive;
$res = $zip->open('test_im.zip');
if (
$res === TRUE) {
$zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
$zip->close();
echo
'готово';
} else {
echo
'ошибка';
}
?>

Примечания

Замечание:

Файловые системы Windows NTFS не поддерживают некоторые символы в именах файлов, а именно <|>*?":. Имена файлов с точкой в конце также не поддерживаются. В отличие от некоторых инструментов извлечения, этот метод не поддерживает замену этих символов на подчёркивание, а вместо этого возникает ошибка при извлечении таких файлов.

To Top