« PHP:get_declared_classes()関数 | メイン | PHP:rewinddir()関数 »

2006年03月01日

PHP:opendir()関数・closedir()関数・readdir()関数

opendir()関数
ディレクトリをオープンし、操作するためのディレクトリハンドラを返します。

closedir()関数
指定したディレクトリハンドラをクローズ(破棄)します。
※ディレクトリを削除するわけではなく、ディレクトリハンドラを削除します。

readdir()関数
1回実行するたびにポインタを次に移動し、ポインタの位置のディレクトリ名・ファイル名を取得します。返すファイル名の順番は不定です。最後のファイルを読み込んだ後、readdir()関数はFALSEを返します。

※ハンドラとは…
扱う対象を特定するためのキーです。
ディレクトリハンドラは、操作対象のディレクトリを特定するためのキーとなるものです。

※opendir()関数のエラーついて
指定したパスが有効でない場合、または権限によりディレクトリをオープンできない場合などに、opendir()関数はFALSEを返し、PHPエラーが発生します。opendir()に失敗してもエラーを出力しないようにするためには次のようにします。

@opendir("〜(ディレクトリ指定)");

@を付与することにより、PHPエラーを出力しないようにすることが可能です。

カレントディレクトリの全サブディレクトリ・ファイル名を取得する例

$strDir = opendir(".");  //現在のディレクトリをオープン
while($strFile = readdir($strDir)){
    print $strFile."<br>";
}
closedir($strDir);  //現在のディレクトリをクローズ

※上記の結果、現在のディレクトリの全サブディレクトリ・ファイル名を取得し、出力します。


・カレントディレクトリをオープンする場合
opendir(".");

・1階層上のディレクトリをオープンする場合
opendir("..");

投稿者 wing : 2006年03月01日 23:45

コメント