6

dirlist

dirlist
SYNOPSIS

dirlist($dir='.')

DESCRIPTION

dirlist retourne un tableau contenant tous les noms des fichiers du répertoire $dir et de tous ses sous-répertoires. dirlist parcourt le répertoire courant par défaut.

Si $dir n'est pas un répertoire, dirlist retourne false.

CODE
  1. function dirlist($dir='.') {
  2.     if (!is_dir($dir)) {
  3.         return false;
  4.     }
  5.  
  6.     $files = array();
  7.     dirlistaux($dir, $files);
  8.  
  9.     return $files;
  10. }

dirlist initialise $dir avec le nom du répertoire courant par défaut, retourne false si $dir n'est pas un répertoire, appelle la fonction auxiliaire $dirlistaux avec le nom du répertoire à parcourir et un tableau vide. dirlist retourne le tableau rempli par $dirlistaux.

  1. function dirlistaux($dir, &$files) {
  2.     $handle = opendir($dir);
  3.     while (($file = readdir($handle)) !== false) {
  4.         if ($file == '.' || $file == '..') {
  5.             continue;
  6.         }
  7.         $filepath = $dir == '.' ? $file : $dir . DIRECTORY_SEPARATOR . $file;
  8.         if (is_link($filepath))
  9.             continue;
  10.         if (is_file($filepath))
  11.             $files[] = $filepath;
  12.         else if (is_dir($filepath))
  13.             dirlistaux($filepath, $files);
  14.     }
  15.     closedir($handle);
  16. }

$dirlistaux remplit le tableau $files avec les noms de tous les fichiers du répertoire $dir et de tous ses sous-répertoires. Notez que $dir est passé par référence. $dirlistaux lit le répertoire $dir fichier par fichier, saute le fichier si c'est le répertoire lui-même ou son parent ou un lien, ajoute le nom du fichier à $files si c'est un fichier ordinaire, se rappelle récursivement avec le nom du fichier en argument si c'est un répertoire.

VOIR AUSSI

dirclear, dircopy

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].