PHP pathinfo 日本語ファイル名が含まれた場合
PHP pathinfo 日本語ファイル名が含まれた場合
特定のディレクトリのファイル情報を読み込む場合pathinfoを使い、ファイル情報を取得します。
しかし、ファイル名に日本語名が含まれている場合、正常に取得ができません。
なにができないかと言うと。
[ファイル]
会館利用案内2020.4.1.pdf
こういうファイルがあった場合、pathinfo
以下の通りになります。
array(4) { ["dirname"]=> string(10) "./doc/unei" ["basename"]=> string(12) "2020.4.1.pdf" ["extension"]=> string(3) "pdf" ["filename"]=> string(8) "2020.4.1" }
綺麗に日本語部分が抜けて出力されます。
解決策として、PHPファイルの先頭に以下のおまじないを記載すれば解決できます。
setlocale(LC_ALL, 'ja_JP.UTF-8');
以下が実行結果
array(4) { ["dirname"]=> string(10) "./doc/unei" ["basename"]=> string(30) "会館利用案内2020.4.1.pdf" ["extension"]=> string(3) "pdf" ["filename"]=> string(26) "会館利用案内2020.4.1" }