image/pjpeg IEさん怨みます><

プログラマーじゃないのに
ここ数ヶ月、PHPコーディングをしています。

なんとなくわかるからいいのだけど
とりあえず備忘録、その一。

◆やりたい事
・ファイルアップローダーを作る際に
 写真しかUPしないので、jpg以外を除外したい。

というわけで、MIME(マイム)をみて
分岐させる事にしました。
ソースはこんな感じ。

if($file_type == 'image/jpeg'){
move_uploaded_file([省略], [省略]);
}else{
エラー処理;
}


ファイルタイプがjpegだったら、ファイルをアップロード。
違ったら、エラー処理。

◆問題点
IEだと動かない。。。

◆解決方法
echo $file_type;
を記述してみて、ChromeやIEで何を読み取っているのか表示させてみたところ
Chromeだと
 「image/jpeg」
IEだと
 「image/pjpeg」

なんだよ、、、pjpegって・・・。

とりあえず、if文を下記のようにした
if($file_type == 'image/jpeg' || $file_type == 'image/pjpeg'){
   ※以下省略

動くようになりました(;´д`)トホホ…

以下、参考にしたサイトから抜粋
どうもこれはIE特有のもののようですね。
PはプログレッシブJPEGのP。どんな画像を上げてもPJPEGとなる。ブラウザの依存はデザイン面においては気をつけていますが、プログラムレベルでもブラウザを意識しなければならないとは。。。Microsoftを多少憎みますよ。


はい。僕も憎みますよ・・・。
[PR]

by hiro__neko | 2012-10-18 16:21 | PGじゃない人間の備忘録  

<< PHP simpleXML 改... Passbook サービスPa... >>