PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

basename関数はパスからディレクトリ情報を削除してベース名(「test.txt」など)を取得するための関数ですが、PHP5(使用バージョン:PHP 5.3.1)ではパスに日本語が含まれていると失敗します。

<?php
$a = "/dir/テスト.txt";
echo basename($a);
?>
日本語を含むパスでbasename関数が失敗する

日本語を含むパスでbasename関数が失敗する

この現象はPHP6では修正されているようですが、今すぐ対処する場合は、次のようなユーザー定義関数を作る方法があります。

<?php
$a = "/dir/テスト.txt";
echo my_basename($a);

function my_basename($a) {
    $temp = mb_substr(mb_strrchr($a, "/"), 1);
    return $temp;
}
?>
日本語を考慮したベース名の取得

日本語を考慮したベース名の取得

mb_strrchr関数は、パスに含まれる最後の「/」以降の文字列を取得し、mb_substr関数では先頭の1文字(/)を削除しています。

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP全般

WordPress

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク