(PHP 5, PHP 7)
scandir — Enumera los ficheros y directorios ubicados en la ruta especificada
$directory
[, int $sorting_order
= SCANDIR_SORT_ASCENDING
[, resource $context
]] )
Devuelve un array con los ficheros y los directorios que se encuentran bajo
directory
.
directory
El directorio que será examinado.
sorting_order
Por omisión, se ordena alfabéticamente en sentido ascendente. Si se utiliza
el parámetro opcional sorgin_order
con el valor
SCANDIR_SORT_DESCENDING
, entonces se ordenará alfabéticamente en
sentido descendente. Si se asigna
SCANDIR_SORT_NONE
entonces el resultado no se ordena.
context
Para una descripción del parámetro context
,
consulte la sección de flujos
del manual.
Devuelve un array con los nombres de los ficheros en caso de éxito, o FALSE
en
caso de error. Si directory
no es un directorio, entonces
se devuelve FALSE
, y se genera un error de nivel
E_WARNING
.
Versión | Descripción |
---|---|
5.4.0 |
Se añadieron las constantes de sorting_order .
En versiones anteriores, cualquir valor distinto de cero ocasionaba un ordenamiento descendente. Por lo tanto,
para todas las versiones de PHP, use 0 para el orden ascendente, y 1
para el orden descendente. No existía una opción para el comportamiento de SCANDIR_SORT_NONE
antes de PHP 5.4.0.
|
Ejemplo #1 Un simple ejemplo de scandir()
<?php
$directorio = '/tmp';
$ficheros1 = scandir($directorio);
$ficheros2 = scandir($directorio, 1);
print_r($ficheros1);
print_r($ficheros2);
?>
El resultado del ejemplo sería algo similar a:
Array ( [0] => . [1] => .. [2] => bar.php [3] => foo.txt [4] => somedir ) Array ( [0] => somedir [1] => foo.txt [2] => bar.php [3] => .. [4] => . )
Ejemplo #2 Alternativas a scandir() para PHP 4
<?php
$directorio = "/tmp";
$gestor_dir = opendir($directorio);
while (false !== ($nombre_fichero = readdir($gestor_dir))) {
$ficheros[] = $nombre_fichero;
}
sort($ficheros);
print_r($ficheros);
rsort($ficheros);
print_r($ficheros);
?>
El resultado del ejemplo sería algo similar a:
Array ( [0] => . [1] => .. [2] => bar.php [3] => foo.txt [4] => somedir ) Array ( [0] => somedir [1] => foo.txt [2] => bar.php [3] => .. [4] => . )
Se puede emplear un URL como nombre de fichero con esta función si las envolturas de fopen han sido activadas. Véase fopen() para más información de cómo especificar el nombre de fichero. Véanse las Protocolos y Envolturas soportados; continen enlaces con información sobre las diferentes capacidades que tienen las envolturas, notas sobre su empleo, e información de cualquier variable predefinida que podría proporcionarse.