• 21-01-2021, 23:03:40
    #1
    Merhaba,

    Özel yazılım sitemde kullanıcılar içerik yüklerken görsel upload etme işleminde bazen sorun çıkıyor ve görsel sisteme upload edilemiyor. Dosya boyutundan kaynaklanıyor diye düşünüyorum, aşağıdaki kodu kullanıyorum şu an:

    // Dosya adı
    $filename = $_FILES['banner']['name'];
    // Gelen dosya bir görsel mi?
    $valid_ext = array('png','jpeg','jpg');
    // Kaydedilecek yer?
    
    $expbanner = explode('.',$filename);
    $bannerexptype=$expbanner[1];
    date_default_timezone_set('Australia/Melbourne');
    $date = date('m/d/Yh:i:sa', time());
    $rand=rand(10000,99999);
    $encname=$date.$rand;
    $bannername=md5($encname).'.'.$bannerexptype;
    
    $location = "../../vendor/img/".$bannername;
    // dosya uzantısı işlemleri
    $file_extension = pathinfo($location, PATHINFO_EXTENSION);
    $file_extension = strtolower($file_extension);
    // uzantı kontrolü
    if(in_array($file_extension,$valid_ext)){
      // Resmi sıkıştırmak.
      compressImage($_FILES['banner']['tmp_name'],$location,60);
    }else{
      echo "Bilinmeyen dosya uzantısı.";
      ban();
    }
    Fonksiyon:
    function compressImage($source, $destination, $quality) {
      $info = getimagesize($source);
      if ($info['mime'] == 'image/jpeg')
        $image = imagecreatefromjpeg($source);
      else if ($info['mime'] == 'image/gif')
        $image = imagecreatefromgif($source);
      else if ($info['mime'] == 'image/png')
        $image = imagecreatefrompng($source);
    
      if (empty($image)) {
        imagejpeg($source, $destination, $quality);
      }else{
        imagejpeg($image, $destination, $quality);
      }
    }
    Daha düzgün çalışan bir kod var mı elinizde? Çok uğraştırıyor bu şekilde...
  • 22-01-2021, 17:47:37
    #2
    Üyeliği durduruldu
    Burada bir boyut sorgulanmıyor, sıkıştırma işlemi var sadece, yani boyutla alakalı bir sorun gibi durmuyor.
    Siz yinede sunucunuzun php.ini'de ki dosya yükleme limitini kontrol edermisiniz?
  • 22-01-2021, 20:36:53
    #3
    Evet hocam yüksek boyutlular zaten önlenebiliyor lakin yükleme esnasında sunucuya yüklenmiyor nedense... Mesajı yazarken fark ettim burası 2 MB idi............ 4'e çektim şimdi. Sizce tüm sıkıntı bu muydu?
    oktayWEB adlı üyeden alıntı: mesajı görüntüle
    Burada bir boyut sorgulanmıyor, sıkıştırma işlemi var sadece, yani boyutla alakalı bir sorun gibi durmuyor.
    Siz yinede sunucunuzun php.ini'de ki dosya yükleme limitini kontrol edermisiniz?
  • 22-01-2021, 21:27:07
    #4
    Üyeliği durduruldu
    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    Evet hocam yüksek boyutlular zaten önlenebiliyor lakin yükleme esnasında sunucuya yüklenmiyor nedense... Mesajı yazarken fark ettim burası 2 MB idi............ 4'e çektim şimdi. Sizce tüm sıkıntı bu muydu?
    Başka bir sorun gözükmüyor kodlarda, eğer tekrar hata alırsanız, etiketleyin yardımcı olmaya çalışırım.