アプするファイルが画像かどうかの判定部分 elsif (/^(......JFIF|......Exif)/){ これは elsif (/^(......JFIF|......Exif)/s){ こうしないと、冒頭6byteに0x0a(LF)が入ってる場合など カメラによってはアプできないことがあるようです。
ImgSizeの人、<!-- 注意書き -->の人、そしててぶさんありがとうございます。 問題部分を修正してVer.3.06bとしました 画像の判定部分をSize.pm準拠にしたのでデジカメの機種問題もクリアしていると 思いますが不具合ありましたらよろしくお願いします
今回の変更点は以下のとおりです 1. ############################### <!-- 注意書き --> ############################### ↓ ############################### <!-- 注意書き --> ############################### 2. ############################### if (/^GIF/){ if($gif_perm==1){ print TMP $_; $type = 'gif'; $range=10; } else{ unlink("$tmpdir$id.tmp"); &error(3); } } elsif (/^(......JFIF|......Exif)/){ print TMP $_; $type = 'jpg'; $range=20*1024; } elsif(/^.PNG/){ print TMP $_; $type = 'png'; $range=24; } ############################### ↓ ############################### if (/^GIF8[7,9]a/){ if($gif_perm==1){ print TMP $_; $type = 'gif'; $range=10; } else{ unlink("$tmpdir$id.tmp"); &error(3); } } elsif (/^\xFF\xD8/){ print TMP $_; $type = 'jpg'; $range=30*1024; } elsif(/^\x89PNG\x0d\x0a\x1a\x0a/){ print TMP $_; $type = 'png'; $range=24; } ###############################