PHPでパス(URL)からファイル名を取得する方法

PHPでパス(URL)からファイル名を取得する機会というのがあるかもしれません。

今回の記事では、パス(URL)からファイル名を取得する方法について紹介します。
PHPでパス(URL)からファイル名を取得したい場合は、basename関数または、pathinfo関数をしようすることで取得することができます。

basename関数を使用しパス(URL)からファイル名を取得する

PHPでのコード例

echo basename('http://test.jp/test.gif');

出力結果

pic.gif

bathinfo関数をしようした場合は、パス(URL)をしていることでファイル名が簡単に取得できたのがわかるはずです。

次にpathinfo関数をしようしてファイル名を取得する方法を見てみましょう。

pathinfo関数を使用しパス(URL)からファイル名を取得する

PHPでのコード例
[phd]
var_dump(pathinfo(‘http://test.jp/test/test.gif’));
[/php]

出力結果

array(4) {
	["dirname"]=> string(6) "./test"
	["basename"]=> string(8) "test.jpg"
	["extension"]=> string(3) "jpg"
	["filename"]=> string(4) "test"
}

上記のように配列でファイル名などが配列で戻ってきているのがわかると思います。
なので上記の場合、下記のようにすることでファイル名を取得することができます。

$fileInfo = pathinfo('http://test.jp/test/test.gif');
$filename = $fileInfo['basename'];

echo $filename;

pathinfo関数では、第二引数に定数を渡すことでファイル名取得するのに一行で記載することもできます。

echo pathinfo('http://test.jp/test/test.gif',PATHINFO_BASENAME);

どの要素を返すのかを PATHINFO_DIRNAME、 PATHINFO_BASENAME、 PATHINFO_EXTENSION あるいは PATHINFO_FILENAME のいずれかで指定します。

オプション名 説明
PATHINFO_DIRNAME ディレクトリ名
PATHINFO_BASENAME ファイル名
PATHINFO_EXTENSION 拡張子
PATHINFO_FILENAME 拡張子なしのファイル名

何も指定しない場合は、PATHINFO_ALLが設定されます。

まとめ

今回の記事では、PHPでパス(URL)からファイル名を取得する方法について紹介しました。
今回の記事が気に入った方は、いいねでもいただけますと管理人が喜びます💌