PHP Velho Oeste 2024

PharData::buildFromDirectory

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::buildFromDirectoryСоздаёт tar/zip-архив из файлов в директории

Описание

public PharData::buildFromDirectory(string $directory, string $pattern = ""): array

Наполняет tar/zip-архив содержимым директории. Второй опциональный параметр является регулярным выражением (pcre). Файлы, имена которых подходят под регулярное выражение, будут включены в архив, а все остальные нет. Если при создании архива нужна большая избирательность, то используйте метод PharData::buildFromIterator().

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

directory

Полный или относительный путь до директории, файлы из которой будут добавлены в архив.

pattern

Регулярное выражение, определяющее, какие файлы необходимо включать в архив.

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

Phar::buildFromDirectory() возвращает ассоциативный массив, связывающий путь к файлу внутри архива с полным путём к файлу на диске или false в случае возникновения ошибки.

Ошибки

Выбрасывает исключение BadMethodCallException, если не удаётся инициализировать внутренние итераторы директории. Исключение PharException выбрасывается при ошибках записи на диск.

Список изменений

Версия Описание
8.1.0 PharData::buildFromDirectory() больше не возвращает значение false.

Примеры

Пример #1 Пример использования PharData::buildFromDirectory()

<?php
$phar
= new PharData('project.tar');
// добавим все файлы в проект
$phar->buildFromDirectory(dirname(__FILE__) . '/project');

$phar2 = new PharData('project2.zip');
// добавим в проект только .php файлы
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
?>

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

add a note add a note

User Contributed Notes 1 note

up
0
dan
4 years ago
buildFromDirectory won't add empty subdirectories on 7.2
To Top