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 usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.
