ファイルパスから末尾のファイル名だけを取り出してくれる basename() は便利ですが、 ファイル名が日本語の場合などは、文字の一部が文字化けてしまったり、消えてしまったりすることがあります。 その際 setlocale() により適切なロケールを設定すれば正しく動作するようになります。 setlocale(LC_CTYPE, 'ja_JP.UTF-8'); $path = 'テスト.txt'; echo basename($path); ただし PHP のバージョンによっては正常に動作しないケースも有るようなので、代替として次のような関数を作ってみました。 <?php $path = 'http://localhost/test/日本語.txt'; header("Content-type: text/html; charset=UTF-8"); echo mb_basename($