scandir
(PHP 5)
scandir — Enumera los ficheros y directorios ubicados en la ruta especificada
Descripción
$directory
[, int $sorting_order = SCANDIR_SORT_ASCENDING
[, resource $context
]] )
Devuelve un array con los ficheros y los directorios que se encuentran bajo
directory.
Parámetros
-
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_ordercon el valorSCANDIR_SORT_DESCENDING, entonces se ordenará alfabéticamente en sentido descendente. Si se asignaSCANDIR_SORT_NONEentonces el resultado no se ordena. -
context -
Para una descripción del parámetro
context, consulte la sección de flujos del manual.
Valores devueltos
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.
Historial de cambios
| 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.
|
Ejemplos
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] => .
)
Notas
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.