ウェブのあれこれ
ウェブを活用したいひとのためのブログ
PHPでファイルを扱う時に便利な「pathinfo」関数の使い方
2015/05/15 プログラミング

PHPでファイルを扱う時に便利な「pathinfo」関数の使い方

PHPでアップロードしたファイルなんかを処理したりするとき、 一時ファイル名を付けて保存したりとか、リネームして保存とか バッチ処理なんかでも、ファイルをいじる機会は存分にありますね。そんなときに便利な関数が「pathinfo」

pathinfo関数

PHP Manual - pathinfo
pathinfo関数は引数にファイルパスを渡す事でファイルパスに関するいろんな情報を取得出来る関数です。
いろんな情報と言っても4種類ですが取得出来るのは以下の4つです。
  • ディレクトリ
  • ファイル名
  • 拡張子
  • 拡張子抜きのファイル名(PHP5.2以降)
pathinfo関数は引数の与え方によって戻り値が異なるので、都度最適な方法を利用するのがいいでしょう。

1.すべての情報を配列で取得する

 $filePath = "/test/php/files/test_file.txt";
$pathInfo = pathinfo($filePath);

echo $pathInfo ['dirname']; // ディレクトリ=”/test/php/files”
echo $pathInfo['basename']; // ファイル名=”test_file.txt”
echo $pathInfo['extension']; // 拡張子="txt"
echo $pathInfo['filename']; // 拡張子無しファイル名="test_file"
ファイルパスだけを引数に与えると、取得出来る4つの情報が連想配列として取得出来ます。
['filename']はPHP5.2以降で取得出来ます。

2.引数で取得したい情報を指定する。

  $filePath = "/test/php/files/test_file.txt";

$dirName = pathinfo($filePath, PATHINFO_DIRNAME); // ディレクトリ=”/test/php/files”
$baseName = pathinfo($filePath, PATHINFO_BASENAME); // ファイル名=”test_file.txt”
$extension = pathinfo($filePath, PATHINFO_EXTENSION); // 拡張子="txt"
$fileName = pathinfo($filePath, PATHINFO_FILENAME); // 拡張子無しファイル名="test_file"

第二引数に定数を指定する事で任意の情報のみ取得出来ます。
「PATHINFO_FILENAME」はPHP5.2以降で取得出来ます。

Provided by Revolme inc.
revolme.co.jp