Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

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

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

作成日: 更新日:

基本的な使い方

isDirメソッドは、PHPのRecursiveDirectoryIteratorクラスに属し、現在のイテレータが指すファイルシステム上の要素がディレクトリであるかどうかを判定するメソッドです。

RecursiveDirectoryIteratorは、コンピュータのディレクトリ構造を再帰的に(つまり、ディレクトリの中のディレクトリも順に)探索するための強力なツールです。isDirメソッドは、その探索過程において現在イテレータが位置している項目が、ファイルなのか、それともさらに下層のファイルやディレクトリを含む「ディレクトリ」なのかを判別するために非常に重要な役割を果たします。

このメソッドを呼び出すと、現在のイテレータが位置している項目がディレクトリである場合にのみ真(true)を返します。もし現在の項目が通常のファイル、シンボリックリンク、またはその他の種類の要素である場合には偽(false)を返します。

システムエンジニアを目指す初心者の皆様が、例えば特定のディレクトリ以下のサブディレクトリだけを対象に処理を行いたい場合や、ファイルとディレクトリで異なる処理ロジックを適用したい場合などに、このisDirメソッドが役立ちます。特定のパスがディレクトリであるかを確認することで、不要なファイル操作を避けたり、意図しない挙動を防いだりする安全なプログラム構築に貢献します。このメソッドは引数を必要とせず、簡潔にディレクトリ判別を行います。

構文(syntax)

1<?php
2$iterator = new RecursiveDirectoryIterator(__DIR__);
3$recursiveIterator = new RecursiveIteratorIterator($iterator);
4
5foreach ($recursiveIterator as $fileInfo) {
6    if ($fileInfo->isDir()) {
7        echo "Directory: " . $fileInfo->getPathname() . "\n";
8    } else {
9        echo "File: " . $fileInfo->getPathname() . "\n";
10    }
11}

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

このメソッドは、現在のディレクトリ要素がディレクトリである場合に true を返します。ディレクトリでない場合は false を返します。