Maison >développement back-end >tutoriel php >Exemple d'utilisation de la fonction PHP glob() : parcourir tous les fichiers d'un dossier spécifié

Exemple d'utilisation de la fonction PHP glob() : parcourir tous les fichiers d'un dossier spécifié

王林
王林original
2023-06-27 09:16:071720parcourir

Exemple d'utilisation de la fonction PHP glob() : parcourir tous les fichiers dans un dossier spécifié

Dans le développement PHP, il est souvent nécessaire de parcourir tous les fichiers dans un dossier spécifié pour réaliser une opération par lots ou une lecture de fichiers. La fonction glob() de PHP est utilisée pour répondre à cette exigence. La fonction

glob() peut obtenir les informations de chemin de tous les fichiers qui remplissent les conditions dans le dossier spécifié en spécifiant un modèle de correspondance générique. Dans cet article, nous allons montrer comment utiliser la fonction glob() pour parcourir tous les fichiers d'un dossier spécifié.

1. Utilisation de base de la fonction glob()

La syntaxe de base de la fonction glob() est la suivante :

array glob ( string $pattern [, int $flags = 0 ] )

Parmi eux, le paramètre $pattern représente le motif générique correspondant, et le paramètre $flags est utilisé. pour spécifier le modèle correspondant.

Valeur de retour : si la correspondance réussit, un tableau contenant les résultats correspondants est renvoyé. Si une erreur se produit, false est renvoyé.

Ce qui suit est un exemple simple pour parcourir tous les fichiers dans un dossier spécifié (tel que le répertoire "uploads") :

$dir = "uploads/";
$array = glob($dir."*");
print_r($array);

Le code ci-dessus affichera les informations de chemin de tous les fichiers dans le dossier spécifié, tels que :

Array
(
    [0] => uploads/file1.txt
    [1] => uploads/file2.txt
    [2] => uploads/picture1.jpg
    [3] => uploads/picture2.jpg
)

2. Utilisez un motif générique pour faire correspondre les fichiers spécifiés

Si vous devez faire correspondre des fichiers d'un type spécifié, nous pouvons utiliser un motif générique pour y parvenir. Par exemple, si nous devons parcourir tous les fichiers image (.jpg, .png, etc.) dans un dossier spécifié, nous pouvons utiliser le caractère générique .jpg ou .png pour faire correspondre le nom du fichier.

Le code suivant montre comment faire correspondre tous les fichiers avec une extension .jpg :

$dir = "uploads/";
$array = glob($dir."*.jpg");
print_r($array);

Le code ci-dessus affichera les informations de chemin de tous les fichiers avec une extension .jpg dans le répertoire de téléchargement.

3. Ignorer certains fichiers

Si vous souhaitez ignorer les fichiers ou dossiers des types spécifiés, vous pouvez utiliser le mode générique pour y parvenir. Par exemple, nous pouvons utiliser le caractère générique !modèle pour ignorer des fichiers ou des dossiers spécifiques des résultats correspondants.

Le code suivant montre comment ignorer le fichier nommé "ignore.jpg" dans le répertoire de téléchargement :

$dir = "uploads/";
$array = glob($dir."*.jpg");
$array = array_diff($array, glob($dir."ignore.jpg"));
print_r($array);

Le code ci-dessus affichera les informations de chemin de tous les fichiers avec l'extension .jpg dans le répertoire de téléchargement, mais ignorera le fichier nommé "ignorer.jpg".

4. Trier les résultats correspondants

Si vous devez trier les résultats correspondants, vous pouvez transmettre le paramètre $flags dans la fonction glob() et définir le mode de tri correspondant.

Par exemple, l'utilisation des indicateurs GLOB_BRACE | GLOB_NOSORT | GLOB_MARK activera un mode d'exclusion des résultats :

$dir = "uploads/";
$array = glob($dir."{*.jpg,*.png}", GLOB_BRACE | GLOB_NOSORT | GLOB_MARK);
print_r($array);

Le code ci-dessus affichera les informations de chemin de tous les fichiers avec les extensions .jpg et .png dans le répertoire de téléchargement, et a été exclu. tout le répertoire et les résultats ont été triés.

Pour résumer, la fonction glob() est une fonction pratique de traversée de fichiers PHP qui peut facilement opérer sur tous les fichiers du dossier spécifié. Qu'il s'agisse d'une simple traversée de fichiers ou d'un traitement de fichiers complexe, il peut être implémenté via la fonction glob().

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