##pathinfo関数とは?
pathinfo関数はファイルパスに関しての情報を配列で取得する関数。
index.phpというファイルのファイル名indexだけを取得できたり、拡張子であるphpだけを取得できる関数。
##pathinfo関数を使ってみる
1. <?php
2. $info = pathinfo('/fruits/melon/eat/index.php');
3. var_dump($info);
4. ?>
実行結果
array(4) {
["dirname"]=>
string(17) "/fruits/melon/eat"
["basename"]=>
string(9) "index.php"
["extension"]=>
string(3) "php"
["filename"]=>
string(5) "index"
}
・dirname → ファイル名を除くディレクトリパス
・basename → ディレクトリパスを除くファイル名
・extension → 引数で指定したファイル名の拡張子だけを抽出
・filename → 引数で指定したファイル名の拡張子を除いたファイル名を取得
##pathinfo関数を使う上での注意点
pathinfoを使ってファイルパスの情報を取得したのはいいけど、結果が文字化けしていて使い物にならない時は、setlocale
関数を使ってからpathinfo
を扱うことで改善される。
1. <?php
2. setlocale(LC_ALL, 'ja_JP.UTF-8');
3. $info = pathinfo('/fruits/melon/おいしい.php');
4. var_dump($info);
5. ?>
setlocale関数は設定が正しくできなかった場合falseを返すためそのあたりのチェック処理は必要だが、このようにすれば文字化けを改善できる可能性がある。