scandir

(PHP 5 CVS only)

scandir --  Liste les fichiers et dossier dans un dossier

Description

array scandir ( string directory [, int sorting_order])

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.

Exemple 1. Listage simple de dossier avec scandir()

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

print_r($files1);
print_r($files2);

/* Affichera ceci :
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);

/* Affichera ceci :
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().