Résumé des exemples d'utilisation de 4 fonctions de traversée PHP opendir(), readdir(), closeir(), rewinddir()

伊谢尔伦
Libérer: 2023-03-12 09:02:01
original
1497 Les gens l'ont consulté

Cet article présente principalement la fonction PHP de traversée de répertoire opendir(), readdir(), closeir(), rewinddir() résumé, et donne une utilisation complète de ceux-ci L'exemple de la fonction est un simple navigateur de fichiers. Les amis qui en ont besoin peuvent s'y référer

Lors de la programmation PHP, vous devez parcourir les fichiers sous un certain répertoire sur le serveur, qui devient généralement un répertoire de traversée. Pour obtenir des fichiers et des sous-répertoires dans un répertoire, vous devez utiliser la fonction opendir(), la fonction readdir(), la fonction closeir() et la fonction rewinddir().

①Fonction opendir()

La fonction opendir() est utilisée pour ouvrir un répertoire spécifié et accepte le chemin et le nom d'un répertoire comme paramètres. est disponible Handle d’annuaire (type de ressource) utilisé par d’autres fonctions d’annuaire. Si le répertoire n'existe pas ou n'a pas de droits d'accès, renvoie FALSE.

②Fonction readdir()

La fonction readdir() est utilisée pour lire le répertoire spécifié et accepte un handle de répertoire exploitable qui a été ouvert avec la fonction opendir() comme un paramètre. La fonction renvoie un nom de fichier à la position actuelle du pointeur de répertoire et déplace le pointeur de répertoire d’une position vers l’arrière. Lorsque le pointeur se trouve à la fin du répertoire, FALSE est renvoyé car aucun fichier n'existe.

③Function closeir()

La fonction closeir() ferme le répertoire spécifié et accepte un handle de répertoire exploitable qui a été ouvert avec la fonction opendir() comme paramètre. La fonction n'a aucune valeur de retour et le répertoire ouvert est fermé après son exécution.

④Function rewinddir()

La fonction reweinddir() rembobine un handle de répertoire et accepte un handle de répertoire exploitable qui a été ouvert avec la fonction opendir() comme paramètre. Réinitialise le pointeur de répertoire au début du répertoire, c'est-à-dire rembobine le répertoire au début.

Ce qui suit utilise un exemple pour illustrer l'utilisation des fonctions ci-dessus. Remarque : veuillez vous assurer qu'il existe un dossier phpMyAdmin dans le répertoire convenu avant d'utiliser cet exemple. Le code est le suivant :

Le code est le suivant :

<?php
$num = 0; //用来统计子目录和文件的个数
$dirname = &#39;phpMyAdmin&#39;; //保存当前目录下用来便利的一个目录名
$dir_handle = opendir($dirname); //用opendir打开目录
 
//将遍历的目录和文件名使用表格格式输出
echo &#39;<table border="0" align="center" width="600" cellspacing="0" cellpadding="0">&#39;;
echo &#39;<caption><h2>目录&#39;.$dirname.&#39;下面的内容</h2></caption>&#39;;
echo &#39;<tr align="left" bgcolor="#cccccc">&#39;;
echo &#39;<th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th>&#39;;
 
//使用readdir循环读取目录里的内容
while($file = readdir($dir_handle)){
//将将目录下的文件和当前目录连接起来,才能在程序中使用
$dirFile = $dirname."/".$file;
 
$bgcolor = $num+%2==0 ? &#39;#FFFFFF&#39; : &#39;#CCCCCC&#39;; //各行一种颜色
echo &#39;<tr bgcolor=&#39;.$bgcolor.&#39;>&#39;;
echo &#39;<td>&#39;.
filesize
($dirFile).&#39;</td>&#39;; //显示文件名
echo &#39;<td>&#39;.
filetype
($dirFile).&#39;</td>&#39;; //显示文件大小
echo &#39;<td>&#39;.date("Y/n/t",
filemtime
($dirFile)).&#39;</td>&#39;; //格式化显示文件修改时间
echo &#39;</tr>&#39;;
}
 
echo &#39;</table>&#39;; 
closedir($dir_handle); //关闭文件操作句柄
echo &#39;在<b>&#39;.$dirname.&#39;</b>目录下的子目录和文件共有<b>&#39;.$num.&#39;</b>个&#39;;
?>
Copier après la connexion

Le programme ci-dessus ouvre d'abord un pointeur de répertoire et le parcourt. Lors du parcours du répertoire, deux répertoires spéciaux "." et ".." seront inclus. Si ces deux répertoires ne sont pas nécessaires, ils peuvent être bloqués. Bien entendu, les détails d'affichage varient en fonction du contenu du dossier. Comme le montre l’exemple ci-dessus, parcourir le contenu d’un dossier en PHP n’est pas une affaire compliquée. De plus, PHP fournit également une méthode orientée objet pour la traversée de répertoires, qui est complétée par l'utilisation de la classe "dir". De plus, PHP peut également récupérer le contenu spécifié dans le répertoire selon les besoins de l'utilisateur et fournit la fonction glob() pour récupérer le répertoire spécifié. La fonction renvoie finalement un tableau contenant les résultats de la recherche.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!