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

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

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

作成日: 更新日:

基本的な使い方

UNIX_PATHS定数は、PHPのGlobIteratorクラスにおいて、ファイルシステムパスのパターンマッチングにおけるパス区切り文字の解釈方法を制御するための定数です。この定数は、主にシェル形式のパターン(globパターン)を評価する際に、パス内のバックスラッシュ(\)の扱いを指定します。

通常、Windowsなどのオペレーティングシステムではバックスラッシュがディレクトリ区切り文字として使われますが、UNIX系のシステムではスラッシュ(/)が用いられます。UNIX_PATHS定数をGlobIteratorのコンストラクタにフラグとして指定することで、パス内のバックスラッシュをディレクトリ区切り文字としてではなく、通常の文字として扱わせることができます。

これにより、たとえばWindows環境で、C:/Users/Documents/*.txtのようにUNIXスタイルで記述されたパスパターンに対しても、バックスラッシュが特殊な意味を持たず、意図した通りのパターンマッチングを行うことが可能になります。これは、異なるオペレーティングシステム間での互換性を保ちながら、一貫したパス記述スタイルでファイル操作を行いたい場合に特に有用です。この定数を使用することで、パスの解釈の差異による予期せぬ動作を防ぎ、より堅牢なファイルシステム操作ロジックを構築することができます。PHP 7.4.0以降で利用可能です。

構文(syntax)

1<?php
2new GlobIterator('path/to/pattern/*', GlobIterator::UNIX_PATHS);
3?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

GlobIterator::UNIX_PATHSは、UNIX系のファイルシステムにおけるパスの区切り文字を示す整数定数です。