scandir() renvoie un tableau de fichiers et de répertoires dans le répertoire spécifié. En cas de succès, renvoyez un tableau de fichiers et de répertoires. Renvoie FALSE en cas d'échec. Si le répertoire n'est pas un répertoire, une erreur de niveau E_WARNING est générée.
Syntaxe
scandir(directory,sorting_order,context);
Paramètre | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
Répertoire | Obligatoire. Spécifie les répertoires à analyser. | ||||||||
sorting_order |
S'il est défini sur SCANDIR_SORT_DESCENDING ou 1, il trie par ordre alphabétique décroissant. Si défini sur SCANDIR_SORT_NONE, renvoie des résultats non triés.<?php print_r(scandir('test_directory')); ?> Copier après la connexion | ||||||||
contexte | Facultatif. Spécifie l’environnement pour les descripteurs de répertoire. context est un ensemble d'options qui modifient le comportement des flux de répertoire. |
Exemple :
Le code est le suivant :Array ( [0]=>. [1]=>.. [2]=>1.txt [3]=>2.txt )
Array ( [0]=>1.txt [1]=>2.txt )
Dans la plupart des cas, vous n'avez besoin que du tableau de liste de fichiers du répertoire, comme suit :
<?php functionfind_all_files($dir) { $root = scandir($dir); foreach ($rootas$value) { if($value === '.' || $value === '..'){ continue ; } if(is_file("$dir/$value")){ $result[] = "$dir/$value"; continue; } foreach(find_all_files("$dir/$value")as$value) { $result[] = $value; } } return $result; } ?>
Ce problème est généralement résolu en excluant les éléments du tableau "." : Le code est le suivant : Une autre méthode consiste à utiliser la fonction array_diff
<?php $directory='/path/to/my/directory'; $scanned_directory=array_diff(scandir($directory),array('..','.')); ?>
pour éliminer le tableau obtenu en exécutant la Fonction scandir :
Le code est le suivant :Normalement, la gestion du code générera des fichiers .svn, ou .htaccess et d'autres fichiers qui restreignent les autorisations d'accès aux répertoires. Il est donc plus pratique de filtrer via la fonction array_diff.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!