(PHP 4, PHP 5, PHP 7, PHP 8)
readdir — 從目錄句柄中讀取條目
$dir_handle
= ?): string返回目錄中下一個文件的文件名。文件名以在文件系統(tǒng)中的排序返回。
成功則返回文件名 或者在失敗時返回 false
此函數(shù)可能返回布爾值
false
,但也可能返回等同于 false
的非布爾值。請閱讀 布爾類型章節(jié)以獲取更多信息。應(yīng)使用
===
運(yùn)算符來測試此函數(shù)的返回值。
示例 #1 列出目錄中的所有文件
請留意下面例子中檢查 readdir()
返回值的風(fēng)格。這里明確地測試返回值是否全等于(值和類型都相同——更多信息參見比較運(yùn)算符)false
,否則任何目錄項的名稱求值為
false
的都會導(dǎo)致循環(huán)停止(例如一個目錄名為“0”)。
<?php
// 注意在 4.0.0-RC2 之前不存在 !== 運(yùn)算符
if ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
/* 這是正確地遍歷目錄方法 */
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
/* 這是錯誤地遍歷目錄的方法 */
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>
示例 #2 列出當(dāng)前目錄的所有文件并去掉 .
和 ..
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
?>