Dosya yükleme IE çalışan, ancak FF, Chrome ve Safari çalışır değil

3 Cevap

Stumped. Internet Explorer dışında her tarayıcıda çalışan bir yükleme işlemi görüntü oluşturduk. Ben IE7 kontrol etmedi ama IE8 dosya uzantısını kontrol değil gibi görünüyor. Ben hata almaya devam "Eğer bir jpg, gif, bmp yüklemek gerekir."

  /* 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>

Nasıl kötü IE'de bu şey iş yapabilirsiniz ...

3 Cevap

Bu yürüterek $ _FILES dizisindeki alıyoruz bakın:

echo '<pre>';
print_r($_FILES);
echo '</pre>';

mim tipleri @ Juddling olarak sahte olabilir gibi ve, getimagesize görüntü türünü belirlemek için kullanabileceğiniz doğru işaret etti.

Eğer jpegler yüklüyorsanız, genellikle IE mimetype görüntü / pjpeg ile gönderilen olsun.

Özellikle, Ben csv dosyaları bu sorunla karşılaştı ettik. Windows makina Eğer csv dosyaları açmak için yüklü ne bağlı size değişen MimeTypes verecektir. / Endgripe ;)

Sen dosya uzantılarını değil, görüntü ile birlikte gönderilen başlıkları kontrol edilmelidir. Onlar sahte olabilir gibi belki IE bu göndermez.