【PHP8.x】FOLLOW_SYMLINKS定数の使い方

FOLLOW_SYMLINKS定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

FilesystemIterator::FOLLOW_SYMLINKS定数は、PHPのFilesystemIteratorクラスにおける、シンボリックリンクの扱われ方を制御するためのオプションを表す定数です。シンボリックリンクとは、コンピューターのファイルシステム上で、別のファイルやディレクトリを指し示す特殊なファイル(いわゆるショートカットのようなもの)のことです。

FilesystemIteratorは、指定されたディレクトリ内の要素(ファイルやサブディレクトリ)を順に処理する際に使用されます。この定数をFilesystemIteratorのコンストラクタ引数として渡すと、イテレータの動作が変更されます。具体的には、通常、FilesystemIteratorはシンボリックリンク自体を一つのファイルとして認識するか、あるいは無視するのですが、FOLLOW_SYMLINKS定数を指定することで、シンボリックリンクが指し示す先の実際のファイルやディレクトリを追跡し、それらを反復処理の対象に含めるようになります。

つまり、ディレクトリを走査する際に、単にリンクそのものを見るのではなく、リンクの先にある実際のコンテンツまで含めて処理を行いたい場合に、この定数を利用します。これにより、ファイルシステム構造がシンボリックリンクによって複雑になっている場合でも、意図した通りのファイルを漏れなく処理することが可能になります。

構文(syntax)

1<?php
2
3new FilesystemIterator('/path/to/directory', FilesystemIterator::FOLLOW_SYMLINKS);

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

FilesystemIterator::FOLLOW_SYMLINKS は、シンボリックリンクをたどるための定数であり、整数値 1 を返します。