« 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