【PHP8.x】GLOB_MARK定数の使い方
GLOB_MARK定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
GLOB_MARK定数は、PHPのglob()関数と組み合わせて使用する際に、特定の動作を制御するためのフラグを表す定数です。glob()関数は、ファイルシステム上で指定されたパターンに一致するファイルやディレクトリのパスを見つけ出すための機能を提供します。この定数をglob()関数に渡すことで、検索結果として見つかったディレクトリのパス名に対し、特別な処理を施すことができます。
具体的には、GLOB_MARK定数を指定した場合、glob()関数がファイルシステムからディレクトリを検出すると、そのディレクトリのパス名の末尾に自動的にスラッシュ(/)を追加して返します。例えば、glob('./*', GLOB_MARK) のように使用すると、結果の配列には['./file.txt', './directory_name/']のように、ディレクトリ名にはスラッシュが付加された形式で格納されます。
この機能は、取得したパスのリストの中から、どの要素がファイルで、どの要素がディレクトリであるかを明確に識別したい場合に非常に有用です。プログラマーは、スラッシュの有無を調べるだけで、各項目がファイルかディレクトリかを簡単に判別できるようになります。これにより、例えばディレクトリ内をさらに探索するといった、ファイルとディレクトリで異なる処理を適用するロジックを、より簡潔かつ安全に記述することが可能になります。GLOB_MARKは、ファイルシステムを扱うアプリケーションにおいて、結果の可読性を高め、処理の効率性を向上させるための実用的なツールとして利用されます。
構文(syntax)
1<?php 2$filesAndDirs = glob('*', GLOB_MARK); 3?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
GLOB_MARK は、glob() 関数で使用される定数です。この定数を指定すると、返されるファイル名には、それがディレクトリであれば末尾にスラッシュ(/)が自動的に付加されます。この定数の戻り値は整数型です。