Maison > développement back-end > tutoriel php > Méthodes associées sur la façon d'utiliser la méthode glob pour parcourir tous les fichiers d'un dossier

Méthodes associées sur la façon d'utiliser la méthode glob pour parcourir tous les fichiers d'un dossier

jacklove
Libérer: 2023-03-31 07:40:01
original
2238 Les gens l'ont consulté

Parcourez tous les fichiers du dossier. Généralement, vous pouvez utiliser les méthodes opendir et readdir pour parcourir.

Exemple : Trouver tous les fichiers php dans le répertoire spécifié (ne pas rechercher les sous-dossiers) , le code est le suivant :

<?php$path = dirname(__FILE__);$result = traversing($path);
print_r($result);function traversing($path){
    $result = array();    if($handle = opendir($path)){        while($file=readdir($handle)){            if($file!=&#39;.&#39; && $file!=&#39;..&#39;){                if(strtolower(substr($file, -4))==&#39;.php&#39;){
                    array_push($result, $file);
                }
            }
        }
    }    return $result;
}?>
Copier après la connexion

Si vous utilisez la méthode glob pour parcourir, vous pouvez simplifier le code

<?php$path = dirname(__FILE__);$result = glob($path.&#39;/*.php&#39;);
print_r($result);?>
Copier après la connexion

Remarque , glob renverra path + le chemin du résultat de la recherche , par exemple path='/home/fdipzone' L'exemple ci-dessus renvoie

Array(
    [0] => /home/fdipzone/a.php
    [1] => /home/fdipzone/b.php
    [2] => /home/fdipzone/c.php
)
Copier après la connexion

. différent des résultats renvoyés par opendir et readdir place.

Si vous parcourez simplement le répertoire courant. Il peut être modifié comme suit : glob('*.php');
description de la syntaxe glob :

array glob ( string $pattern [, int $flags = 0 ] )
Copier après la connexion

<🎜 La fonction >glob() recherche tous les chemins de fichiers correspondant au motif selon les règles utilisées par la fonction libc glob(), similaires aux règles utilisées par la fonction générale coquilles. Aucune extension d’abréviation ni substitution de paramètres n’est effectuée. Glob est puissant dans l'utilisation de la correspondance de chemin régulière.

flags Les drapeaux valides sont :
GLOB_MARK - Ajoutez une barre oblique à chaque élément renvoyé
GLOB_NOSORT - Renvoie les fichiers dans leur ordre d'apparition d'origine dans le répertoire (non trié)
GLOB_NOCHECK - renvoie le modèle utilisé pour rechercher si aucun fichier ne correspond
GLOB_NOESCAPE - barre oblique inverse Métacaractères sans échappement
GLOB_BRACE - développe {a,b,c} pour correspondre à 'a', 'b' ou 'c'
GLOB_ONLYDIR - renvoie uniquement les entrées du répertoire correspondant au modèle
GLOB_ERR - Arrêtez et lisez les messages d'erreur (par exemple, répertoires illisibles), ignorez par défaut toutes les erreurs

Exemple : Utilisez la méthode glob pour parcourir tous les fichiers php dans un dossier spécifié (y compris les sous-dossiers)

<?php$path = dirname(__FILE__);$result = array();
traversing($path, $result);
print_r($result);function traversing($path, &$result){
    $curr = glob($path.&#39;/*&#39;);    if($curr){        foreach($curr as $f){            if(is_dir($f)){
                array_push($result, $f);
                traversing($f, $result);
            }elseif(strtolower(substr($f, -4))==&#39;.php&#39;){
                array_push($result, $f);
            }
        }
    }
}?>
Copier après la connexion
Cet article explique comment utiliser la méthode glob pour parcourir tous les fichiers d'un dossier. Plus de contenu connexe Veuillez faire attention au site Web chinois php.

Recommandations associées :

Explication sur la méthode de comparaison des nombres à virgule flottante PHP

Exporter les résultats de la requête vers la méthode CSV via MySQL Explain la comparaison des performances entre

php array_push et $arr[]=$value

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal