ファイルの拡張子を取得する
pathinfo関数にファイルのパスを渡すと、ファイルの拡張子を取得することができます。
PHP コード例
var_dump( pathinfo('./test/index.html') );
出力例
array(4) {
["dirname"]=> string(6) "./test"
["basename"]=> string(10) "index.html"
["extension"]=> string(4) "html"
["filename"]=> string(5) "index"
}
配列形式で返り値を渡し、extensionに拡張子の情報が入っています。
Note
pathinfo関数は拡張子の偽造を調べることはできません。ファイルの拡張子が正しいかを厳密に調べたい場合は、mime_content_type関数などでMIMEタイプを取得して確認する必要があります。
使用例
pathinfo関数はファイルのパスのみ渡した場合は返り値が配列形式となりますが、第2パラメータに定数を渡すと取得したい情報に絞ることができます。
例えば、ファイルの拡張子は「PATHINFO_EXTENSION」を渡すと取得できます。
PHP コード例
// 日本語の文字コードを設定
setlocale(LC_ALL, 'ja_JP.UTF-8');
$info = pathinfo( $path1, PATHINFO_EXTENSION);
echo 'ファイルの拡張子は「' . $info . '」です。';
出力例
ファイルの拡張子は「html」です。
今回は拡張子でしたが、定数は他にもディレクトリ情報を返す「PATHINFO_DIRNAME」、ファイル名を返す「PATHINFO_BASENAME」、ファイル名から拡張子を除いた部分を返す「PATHINFO_FILENAME」があります。
ファイル名、フォルダ名に日本語を含む場合は必ずsetlocale関数を使って日本語の文字コードを扱うように設定する必要があります。