note 16388 modified in ref.filesystem by goba

From: Date: Wed, 14 Aug 2002 21:25:24 +0000
Subject: note 16388 modified in ref.filesystem by goba
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-35036@lists.php.net to get a copy of this message
Il me semblait l'avoir deja poste mais apparemment non, ou alors je ne trouve plus ou, donc pour lister seulement certains fichiers dans un repertoire, voila une petite fonction utile: function listFiles($dir , $type){ if (strlen($type) == 0) $type = "all"; $x = 0; if(is_dir($dir)) { $thisdir = dir($dir); while($entry=$thisdir->read()) {if(($entry!='.')&&($entry!='..')) { if ($type == "all") {$result[$x] = $entry; $x++; next;} $isFile = is_file("$dir$entry"); $isDir = is_dir("$dir$entry"); if (($type == "files") && ($isFile)) {$result[$x] = $entry; $x++; next;} if (($type == "dir") && ($isDir)) {$result[$x] = $entry; $x++; next;} $temp = explode(".", $entry); if (($type == "noext") && (strlen($temp[count($temp) - 1]) == 0)) {$result[$x] = $entry; $x++;next;} if (($isFile) && (strtolower($type) == strtolower($temp[count($temp) - 1]))) {$result[$x] = $entry; $x++;next;} } } } return $result; } donc on l'appelle en faisant listFiles("/mon/rep/er/toire/", "gif") so you'll have only .gif files Si vous voulez tous les fichiers et repertoires, mettez "all" au lieu de "gif"; pour uniquement les repertoires, mettez "dir" au lieu de "gif"; pour avoir uniquement les fichier sans extension genre "README", tapez "noext" au lieu de "gif"; et finalement pour avoir tous les fichiers (mais pas les repertoires), tapez "files" au lieu de "gif". Notez qu'un fichier genre monfichier.doc.gif sera reconnu en tant que .gif, pas en .doc. --was-- Il me semblait l'avoir deja poste mais apparemment non, ou alors je ne trouve plus ou, donc pour lister seulement certains fichiers dans un repertoire, voila une petite fonction utile: function listFiles($dir , $type){ if (strlen($type) == 0) $type = "all"; $x = 0; if(is_dir($dir)) { $thisdir = dir($dir); while($entry=$thisdir->read()) {if(($entry!='.')&&($entry!='..')) { if ($type == "all") {$result[$x] = $entry; $x++; next;} $isFile = is_file("$dir$entry"); $isDir = is_dir("$dir$entry"); if (($type == "files") && ($isFile)) {$result[$x] = $entry; $x++; next;} if (($type == "dir") && ($isDir)) {$result[$x] = $entry; $x++; next;} $temp = explode(".", $entry); if (($type == "noext") && (strlen($temp[count($temp) - 1]) == 0)) {$result[$x] = $entry; $x++;next;} if (($isFile) && (strtolower($type) == strtolower($temp[count($temp) - 1]))) {$result[$x] = $entry; $x++;next;} } } } return $result; } donc on l'appelle en faisant listFiles("/mon/rep/er/toire", "gif") so you'll have only .gif files Si vous voulez tous les fichiers et repertoires, mettez "all" au lieu de "gif"; pour uniquement les repertoires, mettez "dir" au lieu de "gif"; pour avoir uniquement les fichier sans extension genre "README", tapez "noext" au lieu de "gif"; et finalement pour avoir tous les fichiers (mais pas les repertoires), tapez "files" au lieu de "gif". Notez qu'un fichier genre monfichier.doc.gif sera reconnu en tant que .gif, pas en .doc. http://www.php.net/manual/en/ref.filesystem.php

« previous php.notes (#35036) next »