Funciones de directorio
PHP Manual

scandir

(PHP 5)

scandirEnumera los ficheros y directorios ubicados en la ruta especificada

Descripción

array scandir ( string $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_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.

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($directorio1);
 
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

Sugerencia

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.

Ver también


Funciones de directorio
PHP Manual