(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
PharData::buildFromDirectory — Создает tar/zip-архив из файлов в директории
Наполняет tar/zip-архив содержимым директории. Второй опциональный параметр является регулярным выражением (pcre). Файлы, имена которых подходят под регулярное выражение, будут включены в архив, а все остальные нет. Если при создании архива нужна большая избирательность, то используйте метод PharData::buildFromIterator().
base_dir
Полный или относительный путь до директории, файлы из которой будут добавлены в архив.
regex
Регулярное выражение, определяющее, какие файлы необходимо включать в архив.
Phar::buildFromDirectory() возвращает ассоциативный массив, связывающий путь к файлу внутри архива с полным путем к файлу на диске.
Выбрасывает исключение BadMethodCallException, если не удается инициализировать внутренние итераторы директории. Исключение PharException выбрасывается при ошибках записи на диск.
Пример #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$/');
?>