- 締切済み
addruleでアップロードさせる画像の種類をコントロールする
こんにちは pearの addruleについてご質問させていただきます。 phpのフォームからアップさせる画像の種類をコントロールしたいのですがaddruleのmimetypeでできると思ったのですがうまくいきません。 下に記述したように jpg, jpeg, gif, png, xbm だけをアップ可能にしたいのですが、なぜか今gifのみアップでき、他がすべてエラーになってしまいます。 はじめに $pictype という配列を作成しそこにアップ可能なタイプを指定、それをaddruleで読み込んでいるつもりなのですが... 間違いのご指摘お願いいたします。 $pictype = array('image/jpeg','image/jpeg','image/gif','image/png','image/x-xbitmap'); $this->addRule('pic1', '■写真1* が読み込めません。写真は (jpg, jpeg, gif, png, xbm) が使用可能です', 'mimetype', $pictype );
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Javac
- ベストアンサー率25% (12/48)
MIMEの判定が間違っているようです。 また、mimetype は、デフォルトでは使えないものだったと思います。 私もレンタルサーバが非対応だったため、下記のように判定してます。 switch( $_FILES['user_file']['type'] ){ case "image/gif": case "image/pjpeg": case "image/x-png": ※ちなみに、この方法だと、IEのみUP可能となります。
- cybert
- ベストアンサー率56% (18/32)
addRuleについてはよく分かりませんが、 アップロードされた画像の拡張子を 正規表現とかexplodeなんかで取り出して 正規表現でチェックするのは駄目ですか?