| ファイルアップロード時の注意(image/pjpeg image/x-png) |
|
|
|
| 2009年 11月 04日(水曜日) 15:33 | |||
|
フォームから送信したファイルをPHPで受け取るプログラムを作ったが、JPEGファイルが上がらない。FireFox3.5では問題なかったので、IE7でデバッグしてみた。 IE7でJPEGファイルをアップロードすると、$_FILES['name']['type'](つまりContent-type)に「image/jpeg」ではなく、「image/pjpeg」がセットされる。PROGRESSIVE JPEG(最初ぼやけた画像が表示され、次第にクリアになるJPEG)のことらしいが、どのJPEGファイルでも「image/pjpeg」になってしまう。 なお、同じファイルをFireFoxやSafariで送ると「image/jpeg」がセットされる。 これは、Internet Explorerの仕様で、本来「image/pjpeg」っていうタイプは定義されていないらしい。ちなみに、PNGファイルも「x-png」になるので注意が必要。 if ($type == "image/jpeg" || $type == "image/pjpeg") {
|