yüklenmek istenen resim için uzantı hatası

  • Konbuyu başlatan Konbuyu başlatan sfym
  • Başlangıç tarihi Başlangıç tarihi
Kodla Büyü

sfym

Seçkin Üye
Seçkin Üye
Mesajlar
387
.

Localde doğru çalışan bu kod, webde kulllanıcı .jpeg uzantılı resim yüklemeye çalıştığı halde uzantı hatası veriyor. Nedeni ne olabilir?

if ($_FILES["Resim"]["type"] == "image/jpeg")
{
resmi yükle
}
else{
uzantı hatası ver
}

******************************
Çözümlendi...canora hocam aşağıda cevabı verdi.Ona ve sorunla ilgilenen bütün arkadaşlara teşekkürler.

.
 
Hocam Özgür Hoca mın söylediğini uygulayın bende bir keresinde baya uğraşmıştım uzantıyı jpg yerine jpeg kaydetmişim , uzantıyı değiştirinde düzeldi.
 
.
Dediğinizi denemiştim ama olmadı.Yani kodda yer alan .jpeg kısmını .jpg desem de aynı şekilde hata alıyorum.
 
dosya nesnesinin, değişken adı "Resim" mi?
$_FILES[degisken_adi][type] değişkeniyle resimin tipine bak bakalım senin sınaman doğru mu anlarsın...
 
Hocam sen senin koddan önce $_FILES["Resim"]["type"] uzantısını ekrana yazdır bak bakalım ekrand ne çıkacak ona göre koşula sok
echo $_FILES["Resim"]["type"];
if ($_FILES["Resim"]["type"] == "image/jpeg")
{
resmi yükle
}
else{
uzantı hatası ver
}
 
.

Arkadaşlar hata kesinlikle İE'den kaynaklanıyor. Çünkü aynı kod Chrome ve Firefox'da hata vermeden çalışıyor. İE'deki bu hatayı nasıl giderebiliriz acaba.

.
 
Hocam,

Şu anda deneme imkanım yok onun için tahminen söylüyorum :

1. Bazı tarayıcılar mime type'ı sunucuya göndermez (Internet Explorer gönderiyordur ama yine de bilmekte fayda var).
2. Yeni Internet Explorer sürümleri veya Vista gibi yeni işletim sistemleri jpeg dosya türlerinin mime type'ını image/jpeg veya image/jpg olarak bildirmeyebilir. Internet Explorer'in kullandığı image/pjpeg'i bir dene istersen.
3. Arkadaşların söylediği gibi;
Kod:
echo "<hr>" . $_FILES["Resim"]["type"] . "<hr>";
kodunu çalıştır ve Internet Explorer'in gönderdiğini gör. image/jpg, image/jpeg haricinde birşey veya image/pjpeg gönderiyorsa
koduna ekle;
Kod:
if ($_FILES["Resim"]["type"] == "image/jpeg" || $_FILES["Resim"]["type"] == "IE'nin Gönderdiği Tipi Buraya Yazın")
   ...
4. Exif kütüphanesi ile aşağıdakini kullanarak dosyanın tipini garantili olarak tespit edebilirsin;
Kod:
if (exif_imagetype($_FILES['Resim']['tmp_name']) != IMAGETYPE_JPEG)
   ...
 
.

Çok teşekkürler canora hocam...

Tam dediğin nedenden dolayı hata veriyormuş. :alkis:

.
 
abaki' Alıntı:
.

Arkadaşlar hata kesinlikle İE'den kaynaklanıyor. Çünkü aynı kod Chrome ve Firefox'da hata vermeden çalışıyor. İE'deki bu hatayı nasıl giderebiliriz acaba.

.
mehmet hocamın ve benim de dediğim gibi dosya tiipini ekrana yazdırırsan görürsün ne olduğunu...
 
.
denedim tabi ama ekrana yazdırdığımda farketmemiş olmalıyım..Teşekkürler öneriler için.
 
BBNET
Geri
Üst