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!