例 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); } ?>
|