Maison  >  Article  >  développement back-end  >  Exemple détaillé de la façon d'utiliser php pour lire tous les noms de fichiers dans un sous-répertoire

Exemple détaillé de la façon d'utiliser php pour lire tous les noms de fichiers dans un sous-répertoire

伊谢尔伦
伊谢尔伦original
2017-07-08 11:49:271434parcourir

L'exemple de cet article décrit la méthode de lecture de tous les noms de fichiers dans un répertoire et des sous-répertoires en PHP. J'aimerais le partager avec vous pour votre référence. La méthode d'implémentation spécifique est la suivante :

De manière générale, il existe de nombreuses façons de lire les noms de fichiers dans un répertoire en PHP. La plus simple est scandir. comme suit :

Le code est le suivant :

$dir="./caxa/";
$file=scandir($dir);
print_r($file);

Un code légèrement plus compliqué vient du manuel php :

Le code est le suivant :

$dir = "/etc/php5/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
} closedir($dh);
}
}

Ceux-ci ne peuvent lire que les fichiers du répertoire actuellement spécifié, mais ne peuvent pas lire les fichiers des sous-répertoires. Il s'est avéré que j'avais écrit un morceau de code pour supprimer tous les répertoires en boucle. Je devais supprimer tous les fichiers des sous-répertoires un par un, y compris plusieurs couches. Mais il suffit de lire le nom du fichier, ce qui est un peu plus compliqué. J'en ai trouvé un qui fonctionne en ligne. Le code d'origine contient un message d'erreur. J'ai modifié la référence en &$data comme suit :

. Le code est le suivant :

function searchDir($path,&$data){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!='.'&& $file!='..'){
searchDir($path.'/'.$file,$data);
}
}
$dp->close();
}
if(is_file($path)){
$data[]=$path;
}
}

function getDir($dir){
$data=array();
searchDir($dir,$data);
return   $data;
}
print_r(getDir('.'));


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn