note 16388 modified in ref.filesystem by goba
| From: | goba@php.net | 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