Maison >développement back-end >tutoriel php >Comment trouver des sous-répertoires excluant les fichiers et les répertoires spéciaux en PHP ?
Recherche de sous-répertoires excluant les fichiers et les répertoires spéciaux en PHP
Dans les scénarios de développement Web, récupérer uniquement les sous-répertoires d'un répertoire spécifié sans inclure l'encombrement courant comme les fichiers normaux, le répertoire actuel ou le répertoire parent deviennent une exigence courante. Cet article examine les méthodes pratiques pour accomplir cette tâche en PHP.
Utilisation de Glob() avec l'option GLOB_ONLYDIR :
La fonction glob() fournit un moyen pratique de rechercher pour les chemins correspondant à un modèle donné. Pour obtenir tous les sous-répertoires, nous pouvons combiner glob() avec l'option GLOB_ONLYDIR. Cette option garantit que seuls les répertoires sont renvoyés, en éliminant les fichiers "." et "..".
$sub_directories = glob('./path/to/directory/*', GLOB_ONLYDIR); foreach ($sub_directories as $directory) { // Use each directory in a function }
Utilisation d'Array_filter avec la fonction is_dir :
Une autre L'approche implique d'utiliser array_filter() pour filtrer une liste de tous les éléments du répertoire, y compris ".", "..", ainsi que les fichiers et répertoires. Le code suivant le démontre :
$items = scandir('./path/to/directory'); $directories = array_filter($items, 'is_dir'); foreach ($directories as $directory) { // Exclude "." and ".." using ternary operators if ($directory != '.' && $directory != '..') { // Use each directory in a function } }
Notez que la fonction fournie array_filter(glob('*'), 'is_dir') filtre les répertoires quel que soit leur nom. Cependant, s'il y a des sous-répertoires avec des points dans leur nom (par exemple, ".config"), ils seront ignorés.
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!