readdir()函數(shù)從目錄句柄中讀取條目
string readdir ( resource $dir_handle );
它返回目錄中下一個(gè)文件的文件名。文件名按文件系統(tǒng)存儲(chǔ)的順序返回。
| 序號(hào) | 參數(shù)及說(shuō)明 |
|---|---|
| 1 | dir_handle(必需) 目錄句柄的 resource,之前由 opendir() 打開(kāi) |
成功返回文件名,失敗返回FALSE。
注意:此函數(shù)可能返回布爾值 FALSE,但也可能返回等同于 FALSE 的非布爾值。請(qǐng)閱讀 布爾類型章節(jié)以獲取更多信息。應(yīng)使用 === 運(yùn)算符來(lái)測(cè)試此函數(shù)的返回值。
以下是此函數(shù)的用法,打開(kāi)一個(gè)目錄,讀取它的內(nèi)容,然后關(guān)閉:
<?php
$dir = opendir("/var/www/images");
while (($file = readdir($dir)) !== false) {
echo "filename: " . $file . "<br />";
}
closedir($dir);
?>輸出結(jié)果
filename: . filename: .. filename: logo.gif filename: mohd.gif
列出目錄中的所有文件 :
請(qǐng)留意下面實(shí)例中檢查 readdir() 返回值的風(fēng)格。這里明確地測(cè)試返回值是否全等于(值和類型都相同——更多信息參見(jiàn)比較運(yùn)算符)FALSE,否則任何目錄項(xiàng)的名稱求值為 FALSE 的都會(huì)導(dǎo)致循環(huán)停止(例如一個(gè)目錄名為“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";
}
/* 這是錯(cuò)誤地遍歷目錄的方法 */
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>