(PHP 4, PHP 5, PHP 7, PHP 8)
opendir — ディレクトリハンドルをオープンする
ディレクトリハンドルをオープンします。このハンドルは、この後 closedir(), readdir(), rewinddir() 関数コールで使用されます。
directorycontextcontext パラメータの詳細については
マニュアルのストリーム
を参照ください。
成功した場合にディレクトリハンドルを返します。
失敗した場合に false を返します
失敗したときは E_WARNING が発生します。
directory が有効なディレクトリでない場合、
権限の制限によりディレクトリがオープンできない場合、
またはファイルシステムのエラー時に起こりえます。
| バージョン | 説明 |
|---|---|
| 8.0.0 |
context は、nullable になりました。
|
例1
ディレクトリ中の全てのエントリを表示します。
ただし、特別な . と
.. ディレクトリはスキップします。
ファイル名やディレクトリ名は、
PHP が false と見なす文字列
(例: "0" という名前のディレクトリ)
の可能性があり、かつ readdir()
は全てのディレクトリエントリを読み取ったあとに false を返します。
そのため、PHP が false
とみなすディレクトリ名と、
全てのディレクトリエントリを読み取ったことを適切に区別するためには、
比較演算子 ===
を使う必要があります。
<?php
if ($handle = opendir('/path/to/files')) {
echo "Entries:\n";
/* Correctly handling directory entries that may be considered falsy */
while (false !== ($entry = readdir($handle))) {
if ($entry === '.' || $entry === '..') {
continue;
}
echo "$entry\n";
}
closedir($handle);
}
?>上の例の出力は、 たとえば以下のようになります。
Entries: base en fr output.md test.php