PHPCon Poland 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

User Contributed Notes 1 note

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