Maison  >  Article  >  développement back-end  >  Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)

Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)

WBOY
WBOYoriginal
2021-11-02 11:56:077040parcourir

Dans l'article précédent "Résumé des connaissances sur la fermeture et l'ouverture de répertoires dans le traitement de fichiers PHP", nous avons présenté en détail les connaissances sur la façon d'ouvrir et de fermer des répertoires en PHP. Dans cet article, nous continuerons à voir comment. obtenez-les en PHP. Connaissances sur les fichiers dans les répertoires, y compris les connaissances sur l'ouverture et la fermeture des répertoires dans notre article précédent, j'espère que cela sera utile à tout le monde !

Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)

Nous avons déjà appris comment ouvrir et fermer un répertoire en PHP Avant de fermer le répertoire, le répertoire sera exploité L'une des opérations couramment utilisées consiste à obtenir les fichiers et dossiers du répertoire.

En d'autres termes, si vous voulez savoir comment récupérer les fichiers dans le répertoire, vous devez d'abord pouvoir ouvrir et fermer le répertoire, donc la fonction opendir() et closedir () Si vous ne comprenez pas encore la fonction, vous pouvez cliquer sur le lien ci-dessus pour apprendre. Voyons comment obtenir les fichiers du répertoire en PHP. opendir() 函数和closedir()函数还不了解的可以点击上方的连接进行学习。下面我们就来看一下PHP中怎样才能完成目录下文件的获取吧。

我们在PHP中可以通过readdir()函数和scandir()函数来完成获取目录中文件名的操作。

<strong><span style="font-size: 20px;">readdir()</span></strong>函数获取文件中的下一个文件名

readdir()函数是一个简单的操作,说它简单是因为当函数执行成功之后,它能够返回通过opendir()函数打开目录中的一个文件或者目录名称;如果函数没有执行成功,返回的结果就是flase

readdir()函数的基本语法格式如下:

readdir([resource $dir_handle])

其中需要注意的是:$dir_handle 是个可选参数,当填写时,表示的就是通过opendir()函数打开的目录参数。

接下来我们通过示例来看一下readdir()函数的使用,示例如下:

<?php
    $dir = &#39;D:&#39;;
    if(is_dir($dir)){
        $info = opendir($dir);
        $file = readdir($info);
        echo $file.&#39;<br>&#39;;
        closedir($info);
    }
?>

输出结果:

Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)

上述示例中这种写法一般是不会用到的,一般想要通过readdir()函数获取所有的目录下的文件,需要通过while循环来进行获取,示例如下:

<?php
    $dir = &#39;D:&#39;;
    if(is_dir($dir)){
        $info = opendir($dir);
        while (($file = readdir($info)) !== false) {
            echo $file.&#39;<br>&#39;;
        }
        closedir($info);
    }
?>

输出结果:

Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)

如此我们便通过readdir()函数与while循环配合完成了对目标目录中文件名的获取。这就是readdir()函数的应用,接下来我们看一下另外一种方法,也就是scandir()函数。

<strong><span style="font-size: 20px;">scandir()</span></strong>函数,数组形式返回目录文件名

上文中我们了解了readdir()函数可以获取目标目录内的文件名,其中配合while循环可以简单直接的得到目录下的文件或者目录名。接下来要说的scandir()函数与readdir()函数有一些不同。

  • readdir()函数一次只能返回一个文件名,但是scandir()函数执行成功之后能够返回目标目录内所有的文件名和目录名;

  • readdir返回的结果直接就是文件的名称,scandir的返回结果也是文件的名称但是是以数组的形式返回的结果;

  • readdir函数没有执行成功的话返回的结果是flase,scandir函数没有执行成功时返回的加过也是flase但是同时也会有错误信息。

下面我们来看一下scandir()函数的基本语法,示例如下:

scandir(string $directory[, int $sorting_order[, resource $context]])

其中需要注意的是:$directory表示要读取的目录;当$sorting_order的参数设置为SCANDIR_SORT_DESCENDING 或者 1的时候,返回的结果也就是文件名,它们的排列顺序是按着字母降序排列。当$sorting_order的参数设置为SCANDIR_SORT_NONE

En PHP, on peut utiliser la fonction readdir() et la fonction scandir() pour compléter l'opération d'obtention du nom de fichier dans le répertoire.

<strong><span style="font-size: 20px;">readdir()</span></strong>Fonction pour obtenir le nom de fichier suivant dans le fichier

readdir()La fonction est une opération simple. C'est simple car lorsque la fonction est exécutée avec succès , Il peut renvoyer un nom de fichier ou de répertoire dans le répertoire ouvert via la fonction opendir() ; si la fonction ne s'exécute pas correctement, le résultat renvoyé est flase. Le format de syntaxe de base de la fonction

Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)

readdir() est le suivant :

<?php
    $dir = &#39;D:\phpstudy_pro\WWW&#39;;
    if(is_dir($dir)){
        $arr1 = scandir($dir);
        $arr2 = scandir($dir, 1);
    }
    echo "<pre class="brush:php;toolbar:false">";
    print_r($arr1);
    print_r($arr2);
?>

Il est à noter que : $dir_handle est un paramètre facultatif Lorsqu'il est renseigné, cela signifie qu'il est passé. via opendir() Le paramètre de répertoire ouvert par la fonction. 🎜🎜Ensuite, jetons un coup d'œil à l'utilisation de la fonction readdir() à travers un exemple. L'exemple est le suivant : 🎜rrreee🎜Résultat de sortie : 🎜🎜🎜Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)🎜🎜Cette méthode d'écriture dans l'exemple ci-dessus n'est généralement pas utilisée. En général, vous souhaitez récupérez toutes les données via la fonction readdir(). Les fichiers du répertoire doivent être obtenus via la boucle while L'exemple est le suivant : 🎜rrreee🎜Résultat de sortie : 🎜🎜🎜Comment obtenir le nom du fichier dans le répertoire en PHP (partage résumé)🎜🎜De cette façon, nous utilisons la fonction readdir() et la boucle while pour compléter le nom du fichier dans le répertoire cible d'acquisition. C'est l'application de la fonction readdir(). Ensuite, regardons une autre méthode, qui est la fonction scandir(). 🎜🎜<strong><span style="max-width:90%">scandir()</span></strong>Fonction, renvoie le nom du fichier du répertoire sous forme de tableau🎜🎜Dans ce qui précède, nous avons appris que la fonction readdir() peut obtenir le nom du fichier dans le répertoire cible, et il peut être utilisé avec une boucle while. Obtenez le nom du fichier ou du répertoire dans le répertoire simplement et directement. La fonction scandir() dont nous parlerons ensuite est quelque peu différente de la fonction readdir(). 🎜La fonction
  • 🎜readdir() ne peut renvoyer qu'un seul nom de fichier à la fois, mais scandir() code> Une fois la fonction exécutée avec succès, elle peut renvoyer tous les noms de fichiers et de répertoires dans le répertoire cible 🎜
  • 🎜readdir Le résultat renvoyé est directement le nom du fichier ; , scandir Le résultat renvoyé est également le nom du fichier mais est renvoyé sous la forme d'un tableau 🎜
  • 🎜readdir Si la fonction est n'est pas exécutée avec succès, le résultat renvoyé est flase, scandirLorsque la fonction n'est pas exécutée avec succès, la valeur renvoyée est également fausse, mais il y aura également un message d'erreur. 🎜
🎜Jetons un coup d'œil à la syntaxe de base de la fonction scandir(). L'exemple est le suivant : 🎜🎜rrreee🎜Ce qu'il faut noter est : $directory représente le répertoire à lire ; lorsque le paramètre de <code>$sorting_order est défini sur SCANDIR_SORT_DESCENDING ou 1, le résultat renvoyé est le fichier. nom, et leur ordre est trié par ordre alphabétique décroissant. Lorsque le paramètre $sorting_order est défini sur SCANDIR_SORT_NONE, le résultat renvoyé est le résultat non trié et ce paramètre est un paramètre facultatif. 🎜🎜Ensuite, jetons un œil à l'application de la fonction scandir() à travers un exemple. L'exemple est le suivant : 🎜rrreee🎜Dans l'exemple ci-dessus, le but est d'utiliser la fonction scandir() pour obtenir les fichiers dans. le répertoire avec le nom du chemin de répertoire "D:phpstudy_proWWW", puis utilisez différents paramètres pour obtenir différents arrangements alphabétiques. Les résultats de sortie sont les suivants : 🎜🎜🎜🎜🎜🎜Dans l'exemple ci-dessus, nous pouvons voir que scandir(). La fonction peut renvoyer les noms de fichiers dans le répertoire cible sous la forme d'un tableau, et l'ordre des résultats renvoyés sera différent selon les paramètres de $sorting_order dans la fonction. 🎜

Si vous êtes intéressé, vous pouvez cliquer sur « Tutoriel vidéo PHP » et « Résumé des connaissances sur la fermeture et l'ouverture de répertoires dans le traitement de fichiers PHP » pour en savoir plus sur les connaissances 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