(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 opción de php.ini
phar.readonly
esté establecida a0
para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo 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().
directory
La ruta absoluta o relativa hacia el directorio que contiene todos los ficheros a añadir al archivo.
pattern
Una 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'));
?>