v2.5.2
Giriş yap

Php ile veritabanına görsel yüklerken farklı 2 boyutta küçültülerek (croplanmadan) farklı iki klasöre ve veritabanına yüklenmesi

ilkertuncer
432 defa görüntülendi

Ben php ile veritabanına görsel yüklerken farklı 2 boyutta küçültülerek (croplanmadan) farklı boyutlarda farklı klasörlere ve veritabanına yüklemek istiyorum. Bunun için önerebileceğiniz bir kaynak veya bir kütüphane var mı?

ilkertuncer
989 gün önce

Merhabalar @codepacks.İlginiz için teşekkür ederim. Yaptığınız kod çalışıyor fakat resmin quality'sini %100 yapmama rağmen görünmeyecek halde bozuyor.
Aldığım çıktı şu şekilde: https://prnt.sc/35C8KU80fumL
Resmin orjinali: https://prnt.sc/2gytP5_LmFU4

Ayrıca Dosayı küçültünce çıkan hatam:

Warning: Undefined variable $file_ext in C:\xampp\htdocs\photo\upload.php on line 34

Warning: Undefined variable $file_ext in C:\xampp\htdocs\photo\upload.php on line 37

Warning: Undefined variable $file_ext in C:\xampp\htdocs\photo\upload.php on line 40

Warning: Undefined variable $file_ext in C:\xampp\htdocs\photo\upload.php on line 43

Warning: Undefined variable $file_ext in C:\xampp\htdocs\photo\upload.php on line 50

Warning: Undefined variable $file_ext in C:\xampp\htdocs\photo\upload.php on line 54

Warning: Undefined variable $file_ext in C:\xampp\htdocs\photo\upload.php on line <57></57>

KODUM:

   <?php

    $file_name= str_replace(" ","-",$_FILES['resim']['name']);
    $resim=rand(0,99999)."_".$file_name;
    //orjinal halinde kayıt yeri (images/)
    $tpath1='images/'.$resim;
    $pic1=compress_image($_FILES["resim"]["tmp_name"], $tpath1, 90);
    
    //kırpılmış halinde kayıt yeri
    $thumbpath='images/small/'.$resim;
    $thumb_pic1=create_thumb_image($tpath1,$thumbpath,'470','260'); // kaydedilecek resim boyutu değiştirilebilir
    $file_name= str_replace(" ","-",$_FILES['resim']['name']);
    $resim_cover=rand(0,99999)."_".$file_name;
    
    function compress_image($source_url, $destination_url, $quality) {
        $info = getimagesize($source_url);
        if ($info['mime'] == 'image/jpeg')
            $image = imagecreatefromjpeg($source_url);
        elseif ($info['mime'] == 'image/gif')
            $image = imagecreatefromgif($source_url);
        elseif ($info['mime'] == 'image/png')
            $image = imagecreatefrompng($source_url);
        imagejpeg($image, $destination_url, $quality);
        return $destination_url;
    }
    function create_thumb_image($target_folder ='',$thumb_folder = '', $thumb_width = '',$thumb_height = ''){
        $target_path = $target_folder;
        $thumb_path = $thumb_folder;
        $thumbnail = $thumb_path;
        $upload_image = $target_path;
        list($width,$height) = getimagesize($upload_image);
        $thumb_create = imagecreatetruecolor($thumb_width,$thumb_height);
        switch($file_ext){
            case 'jpg':
                $source = imagecreatefromjpeg($upload_image);
                break;
            case 'jpeg':
                $source = imagecreatefromjpeg($upload_image);
                break;
            case 'png':
                $source = imagecreatefrompng($upload_image);
                break;
            case 'gif':
                $source = imagecreatefromgif($upload_image);
                break;
            default:
                $source = imagecreatefromjpeg($upload_image);
        }
        imagecopyresized($thumb_create, $source, 0, 0, 0, 0, $thumb_width, $thumb_height, $width,$height);
        switch($file_ext){
            case 'jpg' || 'jpeg':
                imagejpeg($thumb_create,$thumbnail,100);
                break;
            case 'png':
                imagepng($thumb_create,$thumbnail,100);
                break;
            case 'gif':
                imagegif($thumb_create,$thumbnail,100);
                break;
            default:
                imagejpeg($thumb_create,$thumbnail,100);
        }
    }
    
    

Bu konuda ne yapabilirim?