Phar::apiVersion
Phar::buildFromIterator
Phar
PHP Manual

# Phar::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromDirectory — Construct a phar archive from the files within a directory.

### 설명

array Phar::buildFromDirectory ( string `$base_dir` [, string `$regex` ] )

> Note: 이 메쏘드가 Phar 객체에 작용하려면 php.ini 설정 phar.readonly을 0으로 설정해야 합니다. 그렇지 않으면, PharException이 발생합니다.

Populate a phar archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use Phar::buildFromIterator().

### 인수

`base_dir`

  The full or relative path to the directory that contains all files to add to the archive.

`regex`

  An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

### 반환값

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

### 오류/예외

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

### 예제

Example #1 A Phar::buildFromDirectory() example

`<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
?>`

### 참고

- Phar::buildFromIterator() - Construct a phar archive from an iterator.

Phar::apiVersion
Phar::buildFromIterator
Phar
PHP Manual