Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)

So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)

WBOY
WBOYOriginal
2021-11-02 11:56:076980Durchsuche

Im vorherigen Artikel „Zusammenfassung des Wissens zum Schließen und Öffnen von Verzeichnissen in der PHP-Dateiverarbeitung“ haben wir ausführlich das Wissen zum Öffnen und Schließen von Verzeichnissen in PHP vorgestellt. In diesem Artikel werden wir uns weiterhin damit befassen, wie das geht Erhalten Sie sie in PHP. Ich hoffe, dass das Wissen über Dateien in Verzeichnissen, einschließlich des Wissens über das Öffnen und Schließen von Verzeichnissen in unserem vorherigen Artikel, für alle hilfreich ist!

So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)

Wir haben bereits gelernt, wie man ein Verzeichnis in PHP öffnet und schließt. Eine der häufig verwendeten Operationen besteht darin, die Dateien und Ordner im Verzeichnis abzurufen.

Mit anderen Worten: Wenn Sie wissen möchten, wie Sie an die Dateien im Verzeichnis gelangen, müssen Sie zunächst in der Lage sein, das Verzeichnis zu öffnen und zu schließen, also die Funktion opendir() und closedir () Wenn Sie die Funktion noch nicht verstehen, können Sie auf den Link oben klicken, um es zu lernen. Schauen wir uns an, wie man die Dateien im Verzeichnis in PHP erhält. 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);
    }
?>

输出结果:

So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)

上述示例中这种写法一般是不会用到的,一般想要通过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);
    }
?>

输出结果:

So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)

如此我们便通过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

In PHP können wir die Funktion readdir() und die Funktion scandir() verwenden, um den Vorgang zum Abrufen des Dateinamens im Verzeichnis abzuschließen.

<strong><span style="font-size: 20px;">readdir()</span></strong>Funktion zum Abrufen des nächsten Dateinamens in der Datei

readdir()Die Funktion ist eine einfache Operation. Sie ist einfach, weil die Funktion erfolgreich ausgeführt wird , Es kann einen Datei- oder Verzeichnisnamen in dem Verzeichnis zurückgeben, das über die Funktion opendir() geöffnet wurde. Wenn die Funktion nicht erfolgreich ausgeführt wird, ist das zurückgegebene Ergebnis flase. Das grundlegende Syntaxformat der Funktion

So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)

readdir() lautet wie folgt:

<?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);
?>

Es ist zu beachten, dass: $dir_handle ein optionaler Parameter ist. Wenn er ausgefüllt ist, bedeutet dies, dass er übergeben wird durch opendir() Der von der Funktion geöffnete Verzeichnisparameter. 🎜🎜Als nächstes schauen wir uns die Verwendung der Funktion readdir() anhand eines Beispiels an. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)🎜🎜Diese Schreibmethode im obigen Beispiel wird im Allgemeinen nicht verwendet. Im Allgemeinen möchten Sie Holen Sie sich alle Daten über die Funktion readdir(). Die Dateien im Verzeichnis müssen über die Schleife while abgerufen werden. Das Beispiel lautet wie folgt: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜So erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe)🎜🎜Auf diese Weise verwenden wir die Funktion readdir() und die While-Schleife, um den Dateinamen im Zielverzeichnis der Erfassung zu vervollständigen. Dies ist die Anwendung der Funktion readdir(). Schauen wir uns als Nächstes eine andere Methode an, nämlich die Funktion scandir(). 🎜🎜<strong><span style="max-width:90%">scandir()</span></strong><strong><span style="font-size: 20px;">scandir()</span></strong>Funktion, gibt den Namen der Verzeichnisdatei in Array-Form zurück🎜🎜Wir haben oben erfahren, dass die Funktion readdir() den Dateinamen im Zielverzeichnis abrufen kann, und zwar kann mit einer While-Schleife verwendet werden. Rufen Sie einfach und direkt den Datei- oder Verzeichnisnamen im Verzeichnis ab. Die Funktion scandir(), die als Nächstes besprochen wird, unterscheidet sich etwas von der Funktion readdir(). 🎜
  • 🎜readdir()-Funktion kann jeweils nur einen Dateinamen zurückgeben, aber scandir() code> Nachdem die Funktion erfolgreich ausgeführt wurde, kann sie alle Dateinamen und Verzeichnisnamen im Zielverzeichnis zurückgeben 🎜
  • 🎜readdir Das zurückgegebene Ergebnis ist direkt der Name der Datei , scandir Das Rückgabeergebnis ist auch der Name der Datei, wird jedoch in Form eines Arrays zurückgegeben 🎜
  • 🎜readdir Wenn die Funktion ist nicht erfolgreich ausgeführt, das zurückgegebene Ergebnis ist flase, scandirWenn die Funktion nicht erfolgreich ausgeführt wurde, ist der zurückgegebene Wert ebenfalls falsch, es wird jedoch auch eine Fehlermeldung angezeigt. 🎜
🎜Werfen wir einen Blick auf die grundlegende Syntax der scandir()-Funktion. Das Beispiel lautet wie folgt: 🎜🎜rrreee🎜Was beachtet werden muss, ist: $directory stellt das zu lesende Verzeichnis dar; wenn der Parameter von $sorting_order auf SCANDIR_SORT_DESCENDING oder 1 gesetzt ist, ist das zurückgegebene Ergebnis die Datei Name, und ihre Reihenfolge ist alphabetisch in absteigender Reihenfolge sortiert. Wenn der Parameter $sorting_order auf SCANDIR_SORT_NONE gesetzt ist, ist das zurückgegebene Ergebnis das unsortierte Ergebnis und dieser Parameter ist ein optionaler Parameter. 🎜🎜Als nächstes werfen wir einen Blick auf die Anwendung der Funktion scandir() anhand eines Beispiels. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Im obigen Beispiel besteht der Zweck darin, die Funktion scandir() zu verwenden, um die Dateien abzurufen das Verzeichnis mit dem Namen „D:phpstudy_proWWW“ und verwenden Sie dann verschiedene Parameter, um unterschiedliche alphabetische Anordnungen zu erreichen. Die Ausgabeergebnisse sind wie folgt: 🎜🎜🎜🎜🎜🎜Anhand des obigen Beispiels können wir sehen, dass scandir(). Die Funktion kann die Dateinamen im Zielverzeichnis in Form eines Arrays zurückgeben. Die Reihenfolge der zurückgegebenen Ergebnisse hängt von den Parametern von $sorting_order in der Funktion ab. 🎜

Wenn Sie interessiert sind, können Sie auf „PHP-Video-Tutorial“ und „Wissenszusammenfassung zum Schließen und Öffnen von Verzeichnissen in der PHP-Dateiverarbeitung“ klicken, um mehr über PHP-Kenntnisse zu erfahren.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie den Dateinamen im Verzeichnis in PHP (Zusammenfassungsfreigabe). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn