【PHP8.x】pathinfo関数の使い方
pathinfo関数は、与えられたファイルパスに関する詳細な情報を取得する関数です。この関数は、ファイルパス文字列を解析し、そのパスに含まれるディレクトリ名、ファイル名と拡張子を含むベースネーム、ファイル拡張子、そして拡張子を含まないファイル名といった要素を効率的に抽出することができます。
基本的な使用方法として、ファイルパスを引数に指定すると、これらの情報が連想配列として返されます。例えば、/var/www/html/index.php
というパスを指定した場合、ディレクトリ名、ベースネーム、拡張子、ファイル名がそれぞれ配列のキーとして格納された形で得られます。
より具体的な情報を単体で取得したい場合は、第二引数に特定の定数を指定することで、必要な情報のみを文字列として受け取ることが可能です。PATHINFO_DIRNAME
を指定するとディレクトリ名が、PATHINFO_BASENAME
を指定するとファイル名と拡張子を含む部分が、PATHINFO_EXTENSION
を指定するとファイル拡張子のみが、そしてPATHINFO_FILENAME
を指定すると拡張子を除いたファイル名が返されます。
この関数は、ファイルのアップロード処理で拡張子をチェックしたり、ファイルの名称変更や保存時に拡張子を分離して扱ったりするなど、ファイルパスをプログラムで操作する様々な場面で非常に役立ちます。パスの構成要素を個別に扱う必要がある際に、手動で文字列操作を行うよりも安全かつ簡潔に処理を記述できるため、ファイルの管理機能を実装する上で頻繁に利用されます。
基本的な使い方
構文(syntax)
<?php
$path = "/var/www/html/index.php";
$file_info = pathinfo($path);
print_r($file_info);
?>
引数(parameters)
string $path, int $flags = PATHINFO_ALL
- string $path: ファイルパスを指定する文字列
- int $flags = PATHINFO_ALL: 取得したいパス情報を指定する整数。デフォルトはPATHINFO_ALLで、全ての情報が取得されます。
戻り値(return)
array|string
pathinfo関数は、指定されたパス文字列からファイル名、拡張子、ディレクトリ名などの情報を取得します。
オプションで第二引数にPATHINFO_EXTENSIONを指定した場合、文字列でファイルの拡張子のみを返します。 それ以外の場合、連想配列でパスの各部分(dirname, basename, extension, filename)を返します。