私は困惑しています。私はInternet Explorerを除くすべてのブラウザで動作する画像アップロードプロセスを作成しました。私はIE7をチェックしなかったがIE8はファイルの拡張子をチェックしないようだ。私はエラーを取得し続ける "あなたはjpg、gif、bmpをアップロードする必要があります。ファイルのアップロードはIEでは動作しませんが、FF、Chrome、Safariで動作します
あなたはファイル拡張子ではなく、画像と一緒に送られたヘッダをチェックする必要がありますどのように私は悪IEでこの事の作業を行うことができます/* image uploading */
$target_path = "img/";
$image = $_FILES['crebusimage'];
$image['name'] = mysql_real_escape_string($image['name']);
$target_path .= $crebustime."_".$image['name'];
$valid_types = array("image/jpg", "image/jpeg", "image/bmp", "image/gif", "image/jpe", "image/jfif", "image/png");
$field = 'crebusimage';
if(strlen($image['name']) == 0){
$form->setError($field, "*please choose an image");
}elseif(!in_array($image['type'], $valid_types)){
$form->setError($field, "*You must upload a jpg, gif, or bmp");
}else{
$busimg = $crebustime."_".$image['name'];
move_uploaded_file($image['tmp_name'], $target_path);
}
<td><b>Business Logo<br />(100Kb or less 100x100px)</b></td>
<td><input type="file" name="crebusimage" value="1"></td>
<td><input type="hidden" name="MAX_FILE_SIZE" value="100000" /></td>
<td><?php echo $form->error('crebusimage'); ?></tD>
...
は私が取得しています: アレイ ( [名] => image.jpeg [タイプ] =>画像/ pjpeg [tmp_name] =>の/ var/tmpに/ php78z4j9 [エラー] => 0 [サイズ] => 3026 ) pjpegとは何ですか? jpegではなく... –
@ivannovak - 今、問題を見ることができます。あなたの$ valid_types配列にはpjpeg MIMEタイプはありません。 "image/pjpeg"を追加すれば動作します! – karim79