【PHP8.x】Directory::read()メソッドの使い方
readメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
readメソッドは、Directoryクラスのインスタンスが指し示すディレクトリの内容を読み込むために使用するメソッドです。このメソッドは、ディレクトリポインタが現在指している位置から、次のエントリの名前(ファイル名またはサブディレクトリ名)を文字列として取得します。
readメソッドが呼び出されるたびに、ディレクトリポインタは自動的に次のエントリに進みます。これにより、ループ処理の中でreadメソッドを繰り返し呼び出すことで、ディレクトリ内のすべてのエントリを一つずつ順に処理することが可能です。すべてのエントリを読み終えて、これ以上エントリが存在しない場合は、readメソッドはfalseを返します。このfalseの戻り値は、通常、ディレクトリの走査を終了する条件として利用されます。
readメソッドは、一般的なファイルやサブディレクトリの名前に加えて、特殊なエントリである「.`」(カレントディレクトリ)と「..」(親ディレクトリ)も返します。これらはUnix系のファイルシステムにおいて標準的なエントリです。
このメソッドを使用する際は、まずDirectory::open()メソッドで対象のディレクトリを開き、その後にreadメソッドでエントリを読み込み、最後にDirectory::close()メソッドでディレクトリリソースを閉じる一連の流れが一般的です。もしディレクトリの読み込み中にエラーが発生した場合、falseが返されることがありますので、戻り値を適切に確認してエラーハンドリングを行うことが重要です。
構文(syntax)
1<?php 2$directory = dir('/path/to/directory'); // Directory クラスのインスタンス 3$entry = $directory->read(); 4?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string|false
Directory::read() メソッドは、ディレクトリ内の次のエントリの名前を文字列で返します。ディレクトリの終わりに達するか、エラーが発生した場合は false を返します。