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

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

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

作成日: 更新日:

基本的な使い方

isDotメソッドは、RecursiveDirectoryIteratorクラスに属し、現在処理しているディレクトリのエントリが特殊なドットエントリ(「.」または「..」)であるかどうかを判定するメソッドです。RecursiveDirectoryIteratorは、指定されたディレクトリの内容を再帰的に(つまり、その中にあるサブディレクトリも順番に)探索するために使用されます。ファイルシステムにおいて、「.」は現在のディレクトリを、「..」は親ディレクトリを指す特殊なエントリとして扱われます。これらのエントリは、実際のファイルやフォルダとは異なり、通常、ディレクトリの内容を列挙したり、ファイル処理を行ったりする際には除外したい対象となることが多いです。

このisDotメソッドを呼び出すと、現在アクセスしているエントリが「.」または「..」のいずれかである場合にtrueを返し、それ以外のファイルやディレクトリである場合にはfalseを返します。この機能は、開発者がディレクトリを走査する際に、不要なドットエントリを簡単にフィルタリングし、実用的なファイルやサブディレクトリのみを対象とした処理を安全かつ効率的に記述するために非常に役立ちます。ファイルシステムを扱う多くのアプリケーションにおいて、このメソッドは、意図しない無限ループや誤った処理を防ぐための基本的ながら重要な役割を果たします。

構文(syntax)

1<?php
2// RecursiveDirectoryIteratorのインスタンスを作成し、現在のディレクトリを対象とします。
3$iterator = new RecursiveDirectoryIterator(__DIR__);
4
5// ディレクトリ内の各エントリをループ処理します。
6foreach ($iterator as $fileInfo) {
7    // isDot() メソッドは、現在のエントリが '.' (カレントディレクトリ)
8    // または '..' (親ディレクトリ) である場合に true を返します。
9    if ($iterator->isDot()) {
10        echo "ドットエントリを検出: " . $fileInfo->getFilename() . PHP_EOL;
11    } else {
12        echo "通常のファイルまたはディレクトリを検出: " . $fileInfo->getPathname() . PHP_EOL;
13    }
14}

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

このメソッドは、現在のディレクトリが「.」(カレントディレクトリ)または「..」(親ディレクトリ)である場合に true を返します。それ以外の場合は false を返します。