scandir

(PHP 5)

scandir --  Liste les fichiers et dossiers dans un dossier

Description

array scandir ( string directory [, int sorting_order [, resource context]] )

scandir retourne un array de fichier et dossier, issus de directory. Si directory n'est pas un dossier, le booléen FALSE est retourné, et une erreur de niveau E_WARNING est générée.

Par défaut, les fichiers sont donnés par ordre alphabétique. Si le paramètre optionnel sorting_order est utilisé avec la valeur 1, le tri sera fait en ordre alphabétique inverse.

Pour une description du paramètre context, référez-vous à Référence CXX, Flux.

Note : Le support de contexte a été ajouté en PHP 5.0.0.

Exemple 1. Listage simple de dossier avec scandir()

<?php
$dir    
= '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Exemple 2. Alternatives à scandir()

<?php
$dir
= "/tmp";
$dh  = opendir($dir);
while (
false !== ($filename = readdir($dh))) {
    
$files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

print_r($files);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Voir aussi opendir(), readdir(), glob(), is_dir() et sort().