• ベストアンサー

ファイルのアップロードで日本語ファイルをはじく

PHP5,winXPを使用しています。現在勉強中でわからないことが多々あります。お知恵を拝借できればと思います。 pdfファイルのアップローダーを作っているのですが、ファイル名に日本語が含まれる場合はエラーメッセージを出したいと思っています。 (言い返せば、半角英数のファイル名のみアップロード可にしたい) フォームから取得したファイル名をどのようにすればチェックできますか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こういうチェックは正規表現を使えばできます。 if( preg_match( "/[\x8E\xA1-\xFE]/", $file )){ print "全角文字が含まれています。\n"; } こんな感じです。 全角などの比較は基本的にEUCなので文字コード変換を しておいたほうがいいですね。 比較の前に以下を追加 $file = mb_convert_encoding($file, "EUC-JP", "SJIS"); これでShift_JISからEUCに変換されます。

sana0930
質問者

お礼

ありがとうございました。きちんとできました。

関連するQ&A