php implémente la traversée des dossiers
PHP est un langage de programmation très populaire qui peut être utilisé pour mettre en œuvre diverses opérations. Parmi eux, parcourir les dossiers et obtenir des informations sur les fichiers qui s'y trouvent est une opération fréquemment nécessaire. Dans cet article, je vais vous expliquer comment implémenter la traversée de dossiers en PHP.
- fonction opendir()
la fonction opendir() est une fonction utilisée par PHP pour ouvrir un dossier et doit être transmise lors de l'appel cette fonction Chemin du dossier en paramètre. Une fois le dossier ouvert avec succès, le contenu du dossier peut être lu via la fonction readdir().
Exemple de code :
$dir = './test'; //文件夹路径 $handle = opendir($dir); //打开文件夹 while ($file = readdir($handle)) { //循环读取所有文件 if ($file != "." && $file != "..") { //排除"."和".."两个特殊的文件夹 echo $file."<br>"; //输出文件名 } } closedir($handle); //关闭文件夹
Dans l'exemple de code ci-dessus, j'ai ouvert un dossier nommé "test" et lu les fichiers du dossier en boucle Tous les noms de fichiers, et ignore les deux dossiers spéciaux "." et ".."
- is_dir() fonction et parcours récursif
Si nous voulons parcourir tous les sous-répertoires et fichiers d'un répertoire, nous pouvons utiliser la méthode récursive . Pendant le processus de parcours, nous devons également déterminer si le parcours actuel est un dossier ou un fichier. Nous pouvons utiliser la fonction is_dir() pour le déterminer.
Exemple de code :
function scanDir($dir){ if(!is_dir($dir)){ echo '不是一个有效的文件夹路径'; return; } $handle = opendir($dir); //打开文件夹 while($file = readdir($handle)){ //循环读取所有文件 if($file == '.' || $file == '..'){ //忽略掉 ".",".." 特殊文件夹 continue; } $path = $dir.'/'.$file; //当前文件或文件夹的完整路径 if(is_dir($path)){ //如果是一个文件夹 echo '<b>'.$file.'</b><br>'; //输出文件夹名称 scanDir($path); //递归遍历子文件夹 }else{ //如果是一个文件 echo $file.'<br>'; //输出文件名称 } } closedir($handle); //关闭文件夹 }
Dans l'exemple de code ci-dessus, j'ai défini une fonction scanDir()
qui accepte un chemin de dossier comme paramètres. Dans la fonction, je détermine d’abord si le chemin entrant est un dossier. Si ce n'est pas un dossier, revenez directement. scanDir()
,该函数接受一个文件夹路径作为参数。在函数内部,我首先判断传入的路径是否为文件夹。如果不是文件夹,则直接返回。
接下来,我打开文件夹,并循环读取其中的文件和文件夹。当遍历到文件夹时,我会输出文件夹名称,并递归调用 scanDir()
函数遍历子文件夹。当遍历到文件时,我只是输出文件名称。
- scandir() 函数
PHP 还提供了一个非常简单的函数 scandir()
,可以用于一次性获取一个文件夹下的所有文件和文件夹名称。和 opendir()
函数不同的是,该函数返回的是一个数组,数组中包含了所有子文件夹和文件的名称。
示例代码:
$dir = './test'; //文件夹路径 $files = scandir($dir); //获取文件夹下所有文件和文件夹名称 foreach($files as $file){ //循环遍历 if($file == '.' || $file == '..'){ //忽略掉 ".",".." 特殊文件夹 continue; } echo $file.'<br>'; //输出文件或文件夹名称 }
在上面的示例代码中,我调用了 scandir()
scanDir()
pour parcourir les sous-dossiers. Lors d'une itération sur un fichier, j'affiche simplement le nom du fichier.
- fonction scandir() #🎜🎜#PHP fournit également une fonction très simple
scandir()
, peut être utilisé pour obtenir tous les noms de fichiers et de dossiers d’un dossier en même temps. Contrairement à la fonction opendir()
, cette fonction renvoie un tableau qui contient les noms de tous les sous-dossiers et fichiers. #🎜🎜##🎜🎜#Exemple de code : #🎜🎜#rrreee#🎜🎜#Dans l'exemple de code ci-dessus, j'ai appelé la fonction scandir()
pour obtenir tous les fichiers et fichiers du dossier nom du dossier et parcouru le tableau en boucle. De même, j'ai ignoré les deux dossiers spéciaux "." et ".." et n'ai affiché que les noms des dossiers et des fichiers. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#Dans cet article, j'ai présenté comment implémenter la traversée de dossiers avec PHP et démontré trois manières différentes. Grâce aux fonctions opendir() et readdir(), nous pouvons parcourir tous les fichiers et dossiers d'un dossier et effectuer les opérations correspondantes en jugeant le type de fichier. Grâce au parcours récursif, nous pouvons parcourir tous les sous-répertoires et fichiers d'un répertoire. Grâce à la fonction scandir(), nous obtenons simultanément tous les sous-dossiers et noms de fichiers d’un dossier. Si vous avez besoin de parcourir des dossiers en PHP, j'espère que cet article pourra vous fournir une référence. #🎜🎜#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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Cet article explore la déduplication efficace du tableau PHP. Il compare les fonctions intégrées comme Array_Unique () avec les approches de hashmap personnalisées, mettant en évidence les compromis de performances en fonction de la taille du tableau et du type de données. La méthode optimale dépend de Profili

Cet article analyse la déduplication du tableau PHP, mettant en évidence les goulots d'étranglement des performances des approches naïves (O (n²)). Il explore des alternatives efficaces à l'aide d'Array_Unique () avec des fonctions personnalisées, des implémentations SplobjectStorage et HashSet, réalisant

Cet article explore la déduplication du tableau PHP en utilisant l'unicité clé. Bien qu'il ne s'agisse pas d'une méthode de suppression en double directe, la mise à profit de l'unicité clé permet de créer un nouveau tableau avec des valeurs uniques en mappant des valeurs aux clés, en écrasant des doublons. Ce AP

Cet article détaille la mise en œuvre des files d'attente de messages en PHP à l'aide de RabbitMQ et Redis. Il compare leurs architectures (AMQP vs en mémoire), les fonctionnalités et les mécanismes de fiabilité (confirmations, transactions, persistance). Meilleures pratiques de conception, erreur

Cet article examine les normes de codage PHP actuelles et les meilleures pratiques, en se concentrant sur les recommandations PSR (PSR-1, PSR-2, PSR-4, PSR-12). Il met l'accent

Cet article détaille l'installation et le dépannage des extensions de PHP, en se concentrant sur PECL. Il couvre les étapes d'installation (trouver, télécharger / compilation, activer, redémarrer le serveur), dépannage des techniques (vérification des journaux, vérification de l'installation,

Cet article explore l'optimisation de la déduplication du tableau PHP pour les grands ensembles de données. Il examine des techniques comme Array_Unique (), Array_flip (), SploBjectStorage et Pre-Sorting, en comparant leur efficacité. Pour les ensembles de données massifs, il suggère de secouer, datab

Cet article explique l'API de réflexion de PHP, permettant l'inspection d'exécution et la manipulation des classes, des méthodes et des propriétés. Il détaille les cas d'utilisation courants (génération de documentation, ORMS, injection de dépendance) et prévient contre la performance Overhea
