【PHP8.x】isDirメソッドの使い方

isDirメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

isDirメソッドは、FilesystemIteratorクラスのインスタンスが現在指し示しているファイルシステム上の項目が、ディレクトリであるかどうかを判断するメソッドです。FilesystemIteratorクラスは、指定されたディレクトリの内容を一つずつ順番に処理するために使用されるイテレータであり、このisDirメソッドは、そのイテレータが現在位置している項目が「ディレクトリ(フォルダ)」である場合に、真偽値のtrueを返します。

もし現在指し示している項目がディレクトリではなく、通常のファイルやシンボリックリンク、あるいはその他の種類のファイルシステムオブジェクトである場合は、falseを返します。この機能は、ファイルシステムを走査する際に非常に重要です。例えば、あるディレクトリ内の項目を処理する際、それがサブディレクトリであればさらに深く探索する、あるいは特定の処理を行うといった条件分岐を実装する場合に利用されます。

システムエンジニアがファイルシステム操作を行うプログラムを作成する際、ファイルのパスを走査しながら、それぞれの項目がディレクトリなのかファイルなのかを正確に判別する必要がある場面は多々あります。isDirメソッドを使用することで、このような判断を簡単かつ確実に行うことができ、プログラムのロジックをより堅牢に構築することが可能になります。このメソッドは引数を取らず、FilesystemIteratorが保持する現在の要素の状態に基づいて結果を返します。

構文(syntax)

1<?php
2// FilesystemIterator のインスタンスを作成します。
3// 例として、現在のスクリプトがあるディレクトリを対象とします。
4$iterator = new FilesystemIterator(__DIR__);
5
6foreach ($iterator as $fileinfo) {
7    // isDir() メソッドは、現在の項目がディレクトリである場合に true を返します。
8    if ($fileinfo->isDir()) {
9        echo "ディレクトリ: " . $fileinfo->getFilename() . "\n";
10    } else {
11        echo "ファイル: " . $fileinfo->getFilename() . "\n";
12    }
13}

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

指定されたファイルシステムエントリがディレクトリである場合に true を返します。ディレクトリでない場合は false を返します。