Maison > développement back-end > tutoriel php > Comment trouver des sous-répertoires excluant les fichiers et les répertoires spéciaux en PHP ?

Comment trouver des sous-répertoires excluant les fichiers et les répertoires spéciaux en PHP ?

Patricia Arquette
Libérer: 2024-11-13 10:42:02
original
443 Les gens l'ont consulté

How to Find Subdirectories Excluding Files and Special Directories in 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
}
Copier après la connexion

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
    }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal