Lors du traitement des fichiers, nous rencontrons souvent des situations où nous devons rechercher des fichiers spécifiques. Si le nombre de fichiers est faible, une recherche manuelle peut être utilisée. Toutefois, si un grand nombre de fichiers sont impliqués, la recherche manuelle devient fastidieuse. À l’heure actuelle, une fonction utile s’avère utile : la fonction glob().
La fonction glob() est une fonction très pratique en PHP, qui permet de rechercher des fichiers et des répertoires en spécifiant des caractères génériques. La fonction glob() peut également trier et filtrer les fichiers trouvés grâce à divers paramètres, nous permettant de trouver rapidement les fichiers dont nous avons besoin parmi un grand nombre de fichiers.
Ci-dessous, nous commençons par l'utilisation de base de la fonction et présentons progressivement comment utiliser la fonction glob(). L'utilisation de base de la fonction
glob() est très simple. Elle n'a qu'un seul paramètre : un caractère générique représentant le fichier qui doit être trouvé. Voici un exemple :
$files = glob('/path/to/files/*.jpg');
Le caractère générique dans cet exemple est "*.jpg", ce qui signifie rechercher tous les fichiers avec le suffixe ".jpg" dans le répertoire /path/to/files/. Les résultats trouvés seront renvoyés sous forme de tableau.
Si nous voulons trouver tous les fichiers et sous-répertoires d'un certain répertoire, nous pouvons utiliser le caractère générique "**":
$files = glob('/path/to/files/**');
De cette façon, nous pouvons trouver tous les fichiers et répertoires dans le répertoire /path/to/files/ , y compris les sous-répertoires fichiers et répertoires ci-dessous.
De plus, nous pouvons également utiliser des crochets dans les caractères génériques pour spécifier un ensemble de caractères :
$files = glob('/path/to/files/[abc]*');
De cette façon, vous pouvez trouver tous les fichiers commençant par "a", "b" ou "c".
L'utilisation de base de la fonction glob() est présentée ci-dessus. Cependant, nous pouvons également définir des paramètres pour trier et filtrer les résultats trouvés.
En définissant le deuxième paramètre (indiquant le mode de tri), nous pouvons trier les résultats trouvés. Voici quelques modes de tri couramment utilisés :
Par exemple, si nous voulons trier tous les fichiers avec le suffixe ".jpg" dans l'ordre inverse par nom, nous pouvons utiliser le code suivant :
$files = glob('/path/to/files/*.jpg', GLOB_NOSORT|GLOB_NOCHECK); rsort($files);
Dans cet exemple, nous utilisons deux constantes GLOB_NOSORT et GLOB_NOCHECK pour définir le méthode de tri.
En définissant le troisième paramètre (indiquant le filtre), nous pouvons filtrer les résultats trouvés. Voici quelques filtres couramment utilisés :
Par exemple, si nous n'avons besoin de trouver que des fichiers d'une taille de 100 Mo ou moins, nous pouvons utiliser le code suivant :
$files = glob('/path/to/files/*.*'); array_filter($files, function($file) { return filesize($file) <= 100 * 1024 * 1024; });
Dans cet exemple, nous utilisons la fonction array_filter() pour filtrer les résultats.
Grâce aux exemples ci-dessus, nous avons appris à utiliser la fonction glob() pour rechercher des fichiers et des répertoires en PHP. La fonction glob() est très simple et pratique, et possède de nombreux paramètres et utilisations, qui permettent d'obtenir une recherche et un traitement de fichiers plus complexes et plus flexibles. Dans les projets PHP, nous pouvons choisir la fonction glob() pour traiter un grand nombre de fichiers et de répertoires de manière simple et efficace.
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!