- ベストアンサー
ファイルのアップロードで日本語ファイルをはじく
PHP5,winXPを使用しています。現在勉強中でわからないことが多々あります。お知恵を拝借できればと思います。 pdfファイルのアップローダーを作っているのですが、ファイル名に日本語が含まれる場合はエラーメッセージを出したいと思っています。 (言い返せば、半角英数のファイル名のみアップロード可にしたい) フォームから取得したファイル名をどのようにすればチェックできますか? よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こういうチェックは正規表現を使えばできます。 if( preg_match( "/[\x8E\xA1-\xFE]/", $file )){ print "全角文字が含まれています。\n"; } こんな感じです。 全角などの比較は基本的にEUCなので文字コード変換を しておいたほうがいいですね。 比較の前に以下を追加 $file = mb_convert_encoding($file, "EUC-JP", "SJIS"); これでShift_JISからEUCに変換されます。
お礼
ありがとうございました。きちんとできました。