# PharData::buildFromDirectory

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

PharData::buildFromDirectory — Construir un archivo tar/zip desde los ficheros de un directorio

### Descripción

public Phar::buildFromDirectory(string `$base_dir`, string `$regex` = ?): array

Rellena un archivo phar con el contenido de un directorio. El segundo parámtro opcional es una expresión regular (pcre) que se utiliza para excluir ficheros. Cualquier nombre de fichero que coincida con la expresión regular será incluido, todos los demás serán excluidos. Para un control más exhaustivo, use PharData::buildFromIterator().

### Parámetros

`base_dir`

  La ruta completa o relativa al directorio que contiene todos los ficheros a añadir al archivo.

`regex`

  Una expresión regular de pcre opcional que se usa para filtrar la lista de ficheros. Solamente las rutas de fichero que coincidan con la expresión regular serán incluidas en el archivo.

### Valores devueltos

Phar::buildFromDirectory() devuelve un array asociativo que que mapea la ruta interna del fichero a la ruta completa del mismo en el sistema de ficheros.

### Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no puede instanciar los iteradores intermos del directorio, o una excepción de tipo PharException si hubo errores al guardar el archivo phar.

### Ejemplos

Ejemplo #1 Un ejemplo de PharData::buildFromDirectory()

`<?php
$phar = new PharData('proyecto.tar');
// añadir todos los ficheros del proyecto
$phar->buildFromDirectory(dirname(__FILE__) . '/proyecto');
$phar2 = new PharData('proyecto2.zip');
// añadir todos los ficheros del, incluir solamente los ficheros php
$phar2->buildFromDirectory(dirname(__FILE__) . '/proyecto', '/\.php$/');
?>`

### Ver también

- Phar::buildFromDirectory() - Construir un archivo phar desde los ficheros de un directorio
- PharData::buildFromIterator() - Construir un archivo tar o zip desde un iterador