Heim > Artikel > Backend-Entwicklung > Zusammenfassung der Anwendungsbeispiele von 4 PHP-Traversalfunktionen opendir(), readdir(), closeir(), rewinddir()
In diesem Artikel wird hauptsächlich eine Zusammenfassung der PHPVerzeichnisdurchlaufFunktionen opendir(), readdir(), closeir(), rewinddir() vorgestellt und eine umfassende Verwendung dieser Funktionen gegeben Ein Beispiel für die Funktion ist ein einfacher Dateibrowser. Freunde, die ihn benötigen, können darauf zurückgreifen.
Beim Programmieren von PHP müssen Sie die Dateien in einem bestimmten Verzeichnis auf dem Server durchsuchen, das normalerweise zu einem Traversalverzeichnis wird. Um Dateien und Unterverzeichnisse in einem Verzeichnis abzurufen, müssen Sie die Funktionen opendir(), readdir(), geschlossenir() und rewinddir() verwenden.
①Funktion opendir()
Funktion opendir() wird zum Öffnen eines angegebenen Verzeichnisses verwendet und akzeptiert den Pfad und den Verzeichnisnamen eines Verzeichnisses als Parameter. Der Rückgabewert der Funktion ist verfügbar. Verzeichnis-Handle (Ressourcentyp), das von anderen Verzeichnisfunktionen verwendet wird. Wenn das Verzeichnis nicht existiert oder keine Zugriffsrechte hat, wird FALSE zurückgegeben.
②Funktion readdir()
Funktion readdir() wird zum Lesen des angegebenen Verzeichnisses verwendet und akzeptiert ein bedienbares Verzeichnishandle, das mit der Funktion opendir() geöffnet wurde Ein Parameter. Die Funktion gibt einen Dateinamen an der aktuellen Verzeichniszeigerposition zurück und verschiebt den Verzeichniszeiger um eine Position nach hinten. Wenn sich der Zeiger am Ende des Verzeichnisses befindet, wird FALSE zurückgegeben, da keine Datei vorhanden ist.
③Funktion geschlossenir()
Funktion geschlossenir() schließt das angegebene Verzeichnis und akzeptiert ein bedienbares Verzeichnishandle, das mit der Funktion opendir() als Parameter geöffnet wurde. Die Funktion hat keinen Rückgabewert und das geöffnete Verzeichnis wird nach der Ausführung geschlossen.
④Funktion rewinddir()
Funktion reweinddir() spult ein Verzeichnis-Handle zurück und akzeptiert ein bedienbares Verzeichnis-Handle, das mit der Funktion opendir() als Parameter geöffnet wurde. Setzt den Verzeichniszeiger auf den Anfang des Verzeichnisses zurück, d. h. spult das Verzeichnis an den Anfang zurück.
Im Folgenden wird anhand eines Beispiels die Verwendung der oben genannten Funktionen veranschaulicht. Bitte beachten Sie, dass sich im vereinbarten Verzeichnis ein phpMyAdmin-Ordner befindet, bevor Sie dieses Beispiel verwenden. Der Code lautet wie folgt:
Der Code lautet wie folgt:
<?php $num = 0; //用来统计子目录和文件的个数 $dirname = 'phpMyAdmin'; //保存当前目录下用来便利的一个目录名 $dir_handle = opendir($dirname); //用opendir打开目录 //将遍历的目录和文件名使用表格格式输出 echo '<table border="0" align="center" width="600" cellspacing="0" cellpadding="0">'; echo '<caption><h2>目录'.$dirname.'下面的内容</h2></caption>'; echo '<tr align="left" bgcolor="#cccccc">'; echo '<th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th>'; //使用readdir循环读取目录里的内容 while($file = readdir($dir_handle)){ //将将目录下的文件和当前目录连接起来,才能在程序中使用 $dirFile = $dirname."/".$file; $bgcolor = $num+%2==0 ? '#FFFFFF' : '#CCCCCC'; //各行一种颜色 echo '<tr bgcolor='.$bgcolor.'>'; echo '<td>'. filesize ($dirFile).'</td>'; //显示文件名 echo '<td>'. filetype ($dirFile).'</td>'; //显示文件大小 echo '<td>'.date("Y/n/t", filemtime ($dirFile)).'</td>'; //格式化显示文件修改时间 echo '</tr>'; } echo '</table>'; closedir($dir_handle); //关闭文件操作句柄 echo '在<b>'.$dirname.'</b>目录下的子目录和文件共有<b>'.$num.'</b>个'; ?>
Das obige Programm öffnet zunächst einen Verzeichniszeiger und durchläuft ihn. Beim Durchlaufen des Verzeichnisses werden zwei spezielle Verzeichnisse „.“ und „..“ einbezogen. Wenn diese beiden Verzeichnisse nicht benötigt werden, können sie blockiert werden. Natürlich variieren die Anzeigedetails je nach Inhalt des Ordners. Wie aus dem obigen Beispiel hervorgeht, ist das Durchsuchen des Inhalts eines Ordners in PHP keine komplizierte Angelegenheit. Darüber hinaus bietet PHP auch eine objektorientierte Methode für die Verzeichnisdurchquerung, die durch die Verwendung der Klasse „dir“ vervollständigt wird. Darüber hinaus kann PHP den angegebenen Inhalt im Verzeichnis entsprechend den Anforderungen des Benutzers abrufen und stellt die Funktion glob() zum Abrufen des angegebenen Verzeichnisses bereit. Die Funktion gibt letztendlich ein Array zurück, das die Suchergebnisse enthält.
Das obige ist der detaillierte Inhalt vonZusammenfassung der Anwendungsbeispiele von 4 PHP-Traversalfunktionen opendir(), readdir(), closeir(), rewinddir(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!