PHP PNG hariç image yüklenmiyor

Tunahan Hilmi

Kilopat
Katılım
14 Kasım 2015
Mesajlar
31
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Dostlar merhaba. Şu an admin panelli bir haber sitesi geliştiriyorum. Haber sitesinde ana fotoğrafı vs yüklemek için PHP kullanıyorum. Fakat PNG hariç hiçbir fotoğrafı kabul etmiyor. Yardımcı olur musunuz?
PHP:
if (isset($_FILES['haber_ana_foto'])) {
        $hata = $_FILES['haber_ana_foto']['error'];
        if ($hata != 0) {
            echo 'Resim gönderilirken bir hata gerçekleşti.';
        } else {
            $resimBoyutu = $_FILES['haber_ana_foto']['size'];
            if ($resimBoyutu > (1024 * 1024 * 4)) {
                echo 'Resim 4MB den büyük olamaz.';
            } else {
                $tip = $_FILES['haber_ana_foto']['type'];
                $resimAdi = $_FILES['haber_ana_foto']['name'];
  
                $uzantisi = explode('.', $resimAdi);
                $uzantisi = $uzantisi[count($uzantisi) - 1];
  
                $yeni_adi = "images/" . time() . "." . $uzantisi;

  
                if ($tip == 'image/jpeg' || $tip == 'image/png' || $tip == 'image/jpg') {
                    if (move_uploaded_file($_FILES["haber_ana_foto"]["tmp_name"], $yeni_adi)) {
                      
                        echo "Resim başarılı bir şekilde yüklendi.";
                    } else echo 'Resim yüklenirken bir hata oluştu.';
                } else {
                    echo 'Yanlızca JPG ve PNG resim gönderebilirsiniz.';
                }
            }
        }
    }
Kısaca resim yükleme kodu bu. Bir türlü PNG hariç fotoğraf yükleyemedim.

Tüm kodu araştırdım fakat hala bir sorun bulamadım
 
Son düzenleme:
Yukarıdaki çıktılardan hangisini hata olarak veriyor ?
Bir de yüklemeden önce echo $tip ile yüklemeye çalıştığın resmin türünü ekrana bastırabilirsin.

Buradan durumu kontrol etmeye çalışabilirsin.
 
Yukarıdaki çıktılardan hangisini hata olarak veriyor ?
Bir de yüklemeden önce echo $tip ile yüklemeye çalıştığın resmin türünü ekrana bastırabilirsin.

Buradan durumu kontrol etmeye çalışabilirsin.
hocam tip kısmında değil direkt olarak ilk ifteki hata değirini 1 döndürüyor

Hocam tip kısmında değil direkt olarak ilk ifteki hata değirini 1 döndürüyor.

Hocam sadece belirli fotolarda oluyor onu fark ettim. Acaba dosya boyutuyla alakalı olduğunu düşünmüştüm ama limitte belirttiğim gibi 4mbı geçmiyor. Saçma bir şekilde yüklenmiyor bazı fotoğraflar anlamadım vallahi.
 
Son düzenleme:
İlk kontrolü yaptığın yerde aslında dosya boyutu kontrolü de yapıyor. Sonra bir daha yapmana gerek yok.
Şimdi manuel e baktım aşağıdaki gibi gösteriyor.

PHP:
$phpFileUploadErrors = array(
    0 => 'There is no error, the file uploaded with success',
    1 => 'The uploaded file exceeds the upload_max_filesize directive in php.ini',
    2 => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form',
    3 => 'The uploaded file was only partially uploaded',
    4 => 'No file was uploaded',
    6 => 'Missing a temporary folder',
    7 => 'Failed to write file to disk.',
    8 => 'A PHP extension stopped the file upload.',
);


1 Aldığını söylüyorsun . Dosya boyutundan kaynaklı olabilir. PHP.ini dosyasından upload_max_filesize değeri nedir bakabilir misin?

Bu arada manuel linkini aşağıya bırakıyorum. Bakmak isteyebilirsin.


MANUEL :

 
php.ini konfigürasyon dosyanızdan upload_max_filesize değerini arttırın. Gireceğiniz değerde megabyte cinsinden veri kullanacaksanız MB yazmayın, sadece M ile belirtin. upload_max_filesize=256M şeklinde, çoğu kişi bu hatayı yapıyor ondan dolayı ayrıca belirtmek istedim.

Bu değişikliği yaptıktan sonra sunucuyu yeniden başlatıp öyle deneyin. Yerel sunucuda XAMPP gibi çözümler üzerinden geliştirme yapıyorsanız php.ini dosyasını kolayca Apache config butonundan bulabilirsin. Web sunucu üzerinde geliştirme yapıyorsan PHP konfigürasyonunu Plesk veya cPanel gibi yönetici panellerinde bulabilirsin.
 

Yeni konular

Geri
Yukarı