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)からファイル名を取得する方法について紹介しました。
今回の記事が気に入った方は、いいねでもいただけますと管理人が喜びます💌