Maison  >  Article  >  développement back-end  >  Comment récupérer des sous-répertoires en PHP, à l'exclusion des indicateurs de traversée de racine et de répertoire ?

Comment récupérer des sous-répertoires en PHP, à l'exclusion des indicateurs de traversée de racine et de répertoire ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-14 14:35:02924parcourir

How to Retrieve Subdirectories in PHP, Excluding Root and Directory Traversal Indicators?

Récupération de sous-répertoires à l'aide de PHP

En PHP, vous pouvez rencontrer le besoin d'accéder à tous les sous-répertoires d'un répertoire spécifique, à l'exclusion de la traversée de la racine et du répertoire indicateurs. Voici comment y parvenir en utilisant deux approches différentes.

Option 1 : Utiliser glob()

La fonction glob() fournit un moyen simple de répertorier les fichiers et les répertoires. correspondant à un modèle spécifique. Pour récupérer uniquement les sous-répertoires, utilisez-le avec l'option GLOB_ONLYDIR :

$subdirectories = glob('*/*', GLOB_ONLYDIR);

Option 2 : Utiliser array_filter

array_filter vous permet de filtrer un tableau en fonction d'une fonction de rappel . Vous pouvez l'utiliser pour identifier les sous-répertoires en excluant "." et ".." et filtrer les résultats glob() :

function is_subdirectory($item) { return is_dir($item) && $item != '.' && $item != '..'; }
$subdirectories = array_filter(glob('*'), 'is_subdirectory');

Utilisation dans une fonction

Une fois que vous avez le tableau des sous-répertoires, vous pouvez le transmettre à une fonction pour un traitement ultérieur. Par exemple, la fonction suivante imprime les chemins de tous les sous-répertoires :

function print_subdirectory_paths($subdirectories) {
  foreach ($subdirectories as $subdirectory) {
    echo $subdirectory . PHP_EOL;
  }
}

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