PHP でファイル拡張子を取得する方法

Minahil Noor 2023年1月30日
  1. PHP でファイル拡張子を取得するには pathinfo() 関数を使用する
  2. PHP でファイル拡張子を取得するには SplFileInfo() コンストラクトと getExtension() 関数を使用する
PHP でファイル拡張子を取得する方法

この記事では、PHP でファイルの拡張子を取得する方法を紹介します。

  • 関数 pathinfo() を使用する
  • SplFileInfo 構造体と getExtension 関数を使用する

PHP でファイル拡張子を取得するには pathinfo() 関数を使用する

ファイルの拡張子を取得するには、組み込みの関数 pathinfo() を使用します。この関数は与えられたパスからパス情報を抽出します。この関数を使用するための正しい構文は以下の通りです。

pathinfo($pathName, $options);

組み込み関数 pathinfo() は 2つのパラメータを持ちます。パラメータの詳細は以下の通りです。

パラメータ 説明
$pathName 必須 これはファイル名と拡張子を含むパスを含む string です。この string からパス情報を抽出します。
$options オプション このパラメータはパスの要素を指定します。例えば、ファイル名だけを探したい場合は PATHINFO_FILENAME をオプションとして渡すことができます。他のオプションは PATHINFO_DIRNAMEPATHINFO_BASENAMEPATHINFO_EXTENSION です。

この関数はディレクトリ名、ベース名、拡張子、ファイル名を含む連想配列 array を返します。パラメータ $option を渡すと、文字列を返します。

以下のプログラムは、pathinfo() 関数を用いてファイルの拡張子を取得する方法を示しています。

<?php 
$path = "E:\work\CM\myppt.ppt";
$extension = pathinfo($path, PATHINFO_EXTENSION);
echo("The extension is $extension.");  
?> 

パラメータ $option を渡しています。この関数はファイルの拡張子を含む文字列を返します。

出力:

The extension is ppt. 

パラメータ $option を渡さなかった場合、この関数は連想配列を返します。

<?php 
$path = "E:\work\CM\myppt.ppt";
$array = pathinfo($path);
echo("The associative array is: \n");  
var_dump($array);
?> 

出力:

The associative array is: 
array(4) {
  ["dirname"]=>
  string(1) "."
  ["basename"]=>
  string(20) "E:\work\CM\myppt.ppt"
  ["extension"]=>
  string(3) "ppt"
  ["filename"]=>
  string(16) "E:\work\CM\myppt"
}

PHP でファイル拡張子を取得するには SplFileInfo() コンストラクトと getExtension() 関数を使用する

PHP では、ファイルの拡張子を取得するために SplFileInfo() を使用することもできます。このコンストラクタは新しい SplFileInfo オブジェクトを作成します。その後で getExtension() 関数を使用してファイルの拡張子を取得することができます。この構文を使用するための正しい構文は以下の通りです。

$variableName = new SplFileInfo($pathName);

構成 SplFileInfo() は 1つのパラメータを受け付ける。そのパラメータの詳細は以下の通りです。

パラメータ 説明
$pathName 必須 これはファイルのパスを含む string です。この文字列を用いてファイルの拡張子を抽出します。

ファイルの拡張子を取得するには getExtension() 関数を用います。この関数を使用するための正しい構文は以下の通りです。

getExtension(void);

この関数はパラメータを受け付けません。この関数はパラメータを受け付けません。

ファイルの拡張子を取得するプログラムは以下の通りです。

<?php 
$path = "E:\work\CM\myppt.ppt";
$file = new SplFileInfo($path);
$extension  = $file->getExtension();
echo("The extension is: $extension.");  
?> 

出力:

The extension is: ppt. 

関連記事 - PHP File