Función scandir

La función scandir devuelve un array que contiene los nombres de archivos y directorios de la carpeta especificada. El primer parámetro de la función es la ruta al directorio, y el segundo (opcional) es el orden de clasificación. Por defecto, la clasificación se realiza en orden alfabético ascendente.

Sintaxis

phpscandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING): array

Ejemplo

Obtengamos una lista de archivos y carpetas en el directorio actual:

php<?php
  $res = scandir('.');
  print_r($res);
?>

Resultado de la ejecución del código:

php['.', '..', 'file1.txt', 'file2.txt', 'folder']

Ejemplo

Obtengamos una lista de archivos en orden inverso:

php<?php
  $res = scandir('.', SCANDIR_SORT_DESCENDING);
  print_r($res);
?>

Resultado de la ejecución del código:

php['folder', 'file2.txt', 'file1.txt', '..', '.']

Ejemplo

Filtremos los elementos especiales '.' y '..' usando la función array_diff:

php<?php
  $res = array_diff(scandir('.'), ['.', '..']);
  print_r($res);
?>

Resultado de la ejecución del código:

php['file1.txt', 'file2.txt', 'folder']

Véase también

  • la función glob,
    que busca archivos por patrón
  • la función is_dir,
    que comprueba un directorio
  • la función readdir,
    que lee el contenido de un directorio