注文の多いXOOPS屋 TOP現在のブログ旧スタッフblog アーカイブ
このページは 2007〜2008 年に公開していた「株式会社RYUS スタッフblog」のアーカイブです。内容は当時のものです。

wordpress モジュールで、日本語ファイル名の画像を UP できるようにする

2007/05/25 13:59   Ryuji   カテゴリ: wordpress

wordpress モジュールで画像アップロードすると、元ファイルのファイル名で保存されます。
英数字のみのファイル名ならば何も問題ないのですが、日本語ファイル名だと、画像ファイルへの URL を URL エンコードする必要があったり、サーバの文字コードとの不一致が起きたりします。

そこで、日本語ファイル名の画像を UP したときに、日本語部分(正確には英数字と \"-\",\"_\" 以外)を \"_\" に変更して保存するように 1 行ハックしてみました。

変更箇所は modules/wordpress/wp-admin/upload.php の 235 行目あたり

    $imgtype = explode(".",$img1_name);
$imgtype = strtolower($imgtype[count($imgtype)-1]);

上記のようなコードがありますので、このあとに次の 1 行を足すだけです。
    $img1_name = preg_replace("/[^-_\\.a-z0-9]/i", "_", $img1_name);/PRE

ファイル名に英数字が全く含まれていないと、ファイル名が \"______.jpg\" とかになってしまい、わかりにくくなってしまうのが難点ですが、アップロード前にファイル名のリネームする手間は省けるようになります。