Maison  >  Article  >  développement back-end  >  Comment parcourir tous les fichiers d’un répertoire spécifié ? (fonctionnement du système de fichiers php)

Comment parcourir tous les fichiers d’un répertoire spécifié ? (fonctionnement du système de fichiers php)

黄舟
黄舟original
2017-05-20 17:01:563723parcourir

Comment parcourir tous les fichiers d'un répertoire spécifié ? (fonctionnement du système de fichiers php)

Dans le système de gestion acquis du site Web, il est souvent nécessaire de gérer et de maintenir les fichiers dans le serveur du site Web. Parfois, il est nécessaire d'ajouter un dossier. et supprimez un certain fichier ou fichiers Afin de mieux visualiser ces fichiers ou dossiers, il est nécessaire de parcourir les fichiers dans le répertoire spécifié du serveur. Alors, comment implémenter la fonction de traversée des fichiers dans le répertoire spécifié ?

La clé pour parcourir tous les fichiers d'un répertoire spécifié est l'application de fonctions de traitement de répertoires et de fichiers, notamment les fonctions file_exists(), is_dir(), opendir() et closeir().

1. Analyse de la fonction de l'application

(1) file_exists() : Vérifiez si le fichier ou le répertoire existe. La syntaxe est la suivante :

bool file_exists(string filename)

Si le fichier ou le répertoire spécifié par nom de fichier existe, renvoyez vrai, sinon renvoyez faux.

(2) is_dir() : Détermine si le nom de fichier spécifié est un répertoire. Le format de syntaxe est le suivant :

bool is_dir(string filename)

Si le nom de fichier existe et est un répertoire, renvoie true Si le nom de fichier est un chemin relatif, vérifiez son chemin relatif en fonction du répertoire de travail actuel.

Remarque :

Le résultat de cette fonction sera mis en cache et ne pourra pas être appliqué aux fichiers distants et est coché. Les fichiers doivent être accessibles via le système de fichiers du serveur.

(3) opendir() : Ouvrez le handle de répertoire, le format de syntaxe spécifique est le suivant :

resource opendir(string path)

Cette fonction renvoie un handle de répertoire, qui peut be closeir(), appelé avant readdir(). Si le chemin n'est pas un répertoire légal ou si le répertoire ne peut pas être ouvert en raison de restrictions d'autorisation ou d'erreurs du système de fichiers, opendir() renvoie false et génère un message d'erreur.

(4) readdir() : Lire les entrées du handle du répertoire. Le format de syntaxe spécifique est le suivant :

string  readdir(resource dir_handle)

Cette fonction renvoie le nom de fichier du fichier suivant dans le répertoire. . Le nom du fichier Renvoyé dans l'ordre sur le système de fichiers.

(5) closeir() : Ferme le handle du répertoire. Le format spécifique est le suivant :

string  closedir(resource dir_handle)

Cette fonction ferme le flux du répertoire spécifié par dir_handle. par opendir() Passe.

En utilisant les fonctions ci-dessus de manière globale, vous pouvez réaliser l'opération de parcours de fichiers sous le répertoire spécifié.

2. Exemple d'application

Dans cet exemple, la fonction introduite ci-dessus est appliquée pour réaliser l'opération de parcours des fichiers dans le répertoire spécifié. Les étapes spécifiques sont les suivantes :

(1) Créez un fichier php, ajoutez un formulaire, définissez les éléments du formulaire et soumettez le chemin d'accès au répertoire via la méthode post.

(2) Dans ce fichier php, déterminez si le chemin du répertoire soumis est vide, puis ouvrez le répertoire, lisez les fichiers dans le répertoire et affichez les fichiers lus, fermez le répertoire, sinon le répertoire de sortie le fait n'existe pas, le code spécifique est le suivant :

<form name="form1" action="6.php" method="post">
   文件名称: <input name="file_name" type="text">
           <input type="submit" name="Submit" value="提交">
</form>
<?php
header("Content-Type:text/html; charset=utf-8");
$file_name = $_POST[&#39;file_name&#39;];
if ($file_name){
if(!file_exists($file_name)){                 //判断指定路径的目录是否存在
    print $file_name."目录不存在";
}else{
    $i =0;
    if(is_dir($file_name)){                   //检测是否是合法目录
        if ($list = opendir($file_name)){      //打开目录
            while ($read_list = readdir($list)){  //读取目录
                $i++;    
            echo "$i:".iconv("gb2312","utf-8","$read_list")."<br>";
        }
    }
}
closedir($list);    //关于目录
}
}

Exécutez cet exemple, saisissez un dossier spécifié dans la zone de texte, cliquez sur le bouton "Soumettre", si le dossier existe, le dossier peut être affiché Tous fichiers inclus ci-dessous, les résultats d'exécution sont les suivants :

Comment parcourir tous les fichiers d’un répertoire spécifié ? (fonctionnement du système de fichiers php)

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