前回に引き続きPHPのバグ第2弾。 PHPにはファイルパス文字列からファイル名を抽出してくれる basename()という関数が用意されているのですが Linuxサーバ上で動かすとファイル名の頭が日本語のときに 文字化けするというバグがあるのです。 参考 PHP、Linux環境でbasenameやpathinfoでの全角(日本語等)ファイル名の正しく取得が出来ない こちらのバグはPHP6で修正される予定みたいです。 例によって原始的に解決するのが手っ取り早いようで $filename = end(split('/', $filepath)); とすればとりあえず日本語ファイル名を抜くことができます。