(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::buildFromDirectory — Construye un archivo phar a partir de los ficheros de un directorio
Nota:
Este método requiere que la variable de configuración INI
phar.readonlyesté definida a0para funcionar con los objetos Phar. De lo contrario, se lanzará una excepción PharException.
Rellena un archivo phar a partir del contenido de un directorio. El segundo parámetro, opcional, es una expresión regular (pcre) utilizada para excluir ficheros. Todo fichero cuyo nombre cumpla la expresión regular será incluido, los demás serán excluidos. Para un control más fino, utilice Phar::buildFromIterator().
directoryLa ruta absoluta o relativa hacia el directorio que contiene todos los ficheros a añadir al archivo.
patternUna expresión regular opcional utilizada para filtrar la lista de ficheros. Solo los ficheros cuyo nombre cumpla la expresión regular serán incluidos en el archivo.
Phar::buildFromDirectory() devuelve un array asociativo que hace corresponder la ruta interna del fichero con la ruta completa en el sistema de ficheros.
Este método lanza una excepción BadMethodCallException cuando no es capaz de instanciar el iterador de directorio interno, o una excepción PharException si ha habido errores durante el guardado del archivo.
| Versión | Descripción |
|---|---|
| 8.1.0 |
Phar::buildFromDirectory() ya no devuelve false.
|
Ejemplo #1 Un ejemplo con Phar::buildFromDirectory()
<?php
// crea con el alias "proyecto.phar"
$phar = new Phar('proyecto.phar', 0, 'proyecto.phar');
// añade ficheros en el proyecto
$phar->buildFromDirectory(dirname(__FILE__) . '/proyecto');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
$phar2 = new Phar('proyecto2.phar', 0, 'proyecto2.phar');
// añade todos los ficheros en el proyecto, pero solo los ficheros .php
$phar->buildFromDirectory(dirname(__FILE__) . '/proyecto', '/\.php$/');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>