# PharData::buildFromDirectory

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

PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory

### 说明

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

Populate a tar/zip 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 PharData::buildFromIterator().

### 参数

`directory`

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

`pattern`

  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, 或者在失败时返回 `false`.

### 错误／异常

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

### 更新日志

版本 | 说明
--- | ---
8.1.0 | PharData::buildFromDirectory() no longer returns `false`.

### 示例

示例 #1 A PharData::buildFromDirectory() example

`<?php
$phar = new PharData('project.tar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar2 = new PharData('project2.zip');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
?>`

### 参见

- Phar::buildFromDirectory() - Construct a phar archive from the files within a directory
- PharData::buildFromIterator() - Construct a tar or zip archive from an iterator

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open