從目錄控制代碼中讀取條目

readdir

(PHP 4, PHP 5, PHP 7, PHP 8)

readdir從目錄控制代碼中讀取條目

說明

readdir(resource $dir_handle = ?): string

返回目錄中下一個檔案的檔名。檔名以在檔案系統中的排序返回。

參數

dir_handle

目錄控制代碼的 resource,之前由 opendir() 打開

返回值

成功則返回檔名 或者在失敗時返回 false

警告

此函式可能返回布爾值 false,但也可能返回等同於 false 的非布爾值。請閱讀 布爾型別章節以獲取更多資訊。應使用 === 運算子來測試此函式的返回值。

範例

示例 #1 列出目錄中的所有檔案

請留意下面例子中檢查 readdir() 返回值的風格。這裡明確地測試返回值是否全等於(值和型別都相同——更多資訊參見比較運算子false,否則任何目錄項的名稱求值為 false 的都會導致循環停止(例如一個目錄名為「0」)。

<?php
// 注意在 4.0.0-RC2 之前不存在 !== 運算子

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 列出目前目錄的所有檔案並去掉 ...

<?php
if ($handle opendir('.')) {
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != "..") {
            echo 
"$file\n";
        }
    }
    
closedir($handle);
}
?>

參見

  • is_dir() - 判斷給定檔名是否是一個目錄
  • glob() - 尋找與模式匹配的檔案路徑
  • opendir() - 打開目錄控制代碼
  • scandir() - 列出指定路徑中的檔案和目錄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *