folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Upload Edilen Resmi Yeniden Boyutlandırma



Upload Edilen Resmi Yeniden Boyutlandırma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lanetlicocuk
    lanetlicocuk's avatar
    Kayıt Tarihi: 30/Ekim/2003
    Erkek

    aşağıdaki kod sorunsuz olarak çalışıyo ama sorunum şu upload ettiğimiz resimler direkt yaklaşık olarak 1 mb felan  amacım uploadedilen resimlerin belirli bi boyuttla 100x200 gibi boyutlandırıp ön izlemesini oluşturmak istiyorumç ama nasıl yapabileceğimi çözemedim

    <%
    enalt_sayi = 100000
    enust_sayi = 999999
    Randomize()
    isle     = enust_sayi - enalt_sayi + 1
    random   = isle * rnd()
    random   = random + enalt_sayi
    guvenlik = int(random)
    Set Upload = Server.CreateObject("Persits.Upload")
    Upload.Save server.MapPath("..\upload\")'Resmin kayıt oldugu klasor
    Set Jpeg = Server.CreateObject("Persits.Jpeg")
    For Each File in Upload.Files
    dosya = file.path
    Jpeg.Open  dosya
    set fso = CreateObject("Scripting.FileSystemObject")
    set file = fso.GetFile(File.Path)
    file.name = "rs"&guvenlik&".jpg"
    set file = nothing
    set fso = nothing
    next
    %>


    Şişirdi Beş-On Adam, Yaptı Balon Adam, Ötekşndende Basit, Vallahi Bu Son Adam.(Abdurrahim KARAKOÇ Kan Yazısı Kitabının Balon Adam Kısmının Giriş Kıtası)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hotboy
    hotboy's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek
    hocam hiç konuyu okumadan başlığa bakıp daldın galiba, adam asp yazmış sen php
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    xzxz
    xzxz's avatar
    Kayıt Tarihi: 21/Haziran/2003
    Erkek

    bu aşağıdaki kod , şunları yapar :

    resmi bir klasöre up eder, klasör izninin  777 olması gerek,  yüklenen dosyanın istenilen boyutta küçük bir kopyasını alır ( 360 px genişlikte ) 

    sonra bu aldığı 360 genişlikli resmin ortasından 80x60 ve 120x90 px boyutlarında iki tane thumb çıkarır. gerçek resmi user/gercek , kopya resmi user/video

    thumbları user/thumb klasörlerinde tutar. bunları değiştirebilirsiniz ama açtığını tüm klasörlerin izinleri 777 olmalı. neden çalışmıyor derseniz , acaba php kurulumunda gd2.dll kütüphanesi aktif edilmiş mi , php.ini den bir bakın bakalım 

     

    <?
    $file1=$_FILES['resim1']['name'];

    if(!empty($file1)){
    $date=date("YmdHis");

    $ext=strtolower(substr($file1,-4));
    $ext=($ext=="jpeg")?".jpg":$ext;


    $uploaddir= 'user/';

    /*
        user/ klasöerünün içinde
        gercek/
        thumb/
        video/   şeklinde 3 tane klasör var , dosyanın gerçeğini gercek/ , uygun boyutunu video/
        içinden çıkarıp aldığı thumbları thumb/ klasörlerine atacak
    */

    $uploadfile = $uploaddir."gercek/".basename($_FILES['resim1']['name']);  // formdan gelen file değişkenin ismi resim1

    if(move_uploaded_file($_FILES['resim1']['tmp_name'], $uploadfile)){

    $ks=2;
    $gercek=$_SESSION['xxx']."_r".$date.$ext;
    chmod($uploaddir."gercek/".$file1, 0777);
    rename($uploaddir."gercek/".$file1, $uploaddir."gercek/".$gercek);

    list($width, $height, $type, $attr) = getimagesize($uploaddir."gercek/".$gercek);

    if($width<240){   // genişliği 240 dan küçük olmaması gibi bir kıstas koydum
        @unlink($uploaddir."gercek/".$gercek);
        ?>
        <script>
            alert("Resminiz çok küçük, lütfen daha büyük bir resim seçiniz.");
            window.open("videoekle.php","_self");
        </script>
        <?
        die();
    }

    $w1=($width>360)?360:$width;

    $w2=200;
    $h2=150;

    if((($height*$ks)<$width)||(($width*$ks)<$height)){
        unlink($uploaddir."gercek/".$gercek);
        ?>
        <script>
            alert("yükseklik/genişlik diğerinin <?=$ks?> katından fazla olamaz");
            window.open("<?=$link?><?if(!empty($_REQUEST['id'])){?>?id=<?=$_REQUEST['id']?><?}?>","_self");
        </script>
        <?
        die();
    }

     // ben istediğim boyutu w=360 , h= serbest olarak aldım istenilen boyut diye birşey olmayada bilir

    if($width>360){
    /// yth dosyası yarat ///

    $dosya_ismi=$_SESSION['xxx']."_r".$date;  ///session xxx üye kaydını tutar
    $istenenBoyut=360; 
    if($ext==".jpg"){
            $resim = imagecreatefromjpeg($uploaddir."gercek/".$gercek);
    }elseif($ext==".gif"){
            $resim = imagecreatefromgif($uploaddir."gercek/".$gercek);
    }       
           
            $resim_width = imageSX($resim);
            $resim_height = imageSY($resim);

    /*
    //////////////////////   dikdörtgen özelliği  /////////////// - dosyanın ölçütleri korunmak isteniyorsa aktif edilir
            if($resim_width > $resim_height)
            {
            $yeni_width = $istenenBoyut;
            $factor = $yeni_width/$resim_width;
            $yeni_height = round($resim_height * $factor);
            }
            else
            {
            $yeni_height = $istenenBoyut;
            $factor = $yeni_height/$resim_height;
            $yeni_width = round($resim_width * $factor);
            }
    */

            $yeni_width = $istenenBoyut;
            $factor = $yeni_width/$resim_width;
            $yeni_height = round($resim_height * $factor);


           $tmp = imageCreateTrueColor($yeni_width,$yeni_height);
            imagecopyresampled($tmp, $resim, 0, 0, 0, 0, $yeni_width, $yeni_height, $resim_width, $resim_height);
            imagedestroy($resim);
            $resim = imagecreatetruecolor($yeni_width,$yeni_height);
            imagecopy($resim, $tmp, 0,0,0,0, $yeni_width, $yeni_height);
            if($ext==".jpg"){
            imagejpeg($resim,$uploaddir."video/".$dosya_ismi.$ext, 70);
            }elseif($ext==".gif"){
            imagegif($resim,$uploaddir."video/".$dosya_ismi.$ext, 70);
            }       
           
    //        chmod($uploaddir.$dosya_ismi.$ext, 0777); 
                    $video=$dosya_ismi.$ext;
                      
    list($width1, $height1, $type, $attr) = getimagesize($uploaddir."video/".$video);
    // uygun boyutta video yarat

    }else{  //  resim ztn uygun boyutta

    $video=$_SESSION['xxx']."_r".$date.$ext;
    copy($uploaddir."gercek/".$gercek,$uploaddir."video/".$video);

        $width1=$width;
        $height1=$height;
    }

    ///th200 yarat //////////////////
    $filename = $uploaddir."video/".$video;
    $iw=$w2;
    $ih=$h2;
    $thumb = imagecreatetruecolor($iw,$ih);
    $beyaz=imagecolorallocate($thumb,255,255,255);
    imagefill($thumb,0,0,$beyaz);

    if($ext==".jpg"){
    $source = imagecreatefromjpeg($filename);
    }else{
    $source = imagecreatefromgif($filename);
    }

    // Resize

    $hx=0 ;  // hedef x
    $hy=0; // hedef y
    $kx=round(($width1-$w2)/2);
    $ky=round(($height1-$h2)/2);
    $dw=$iw;  // hedef width
    $dh=$ih; // hedef height

    $sw=$iw ; // kaynak w
    $sh=$ih; // kaynak h


    imagecopyresized($thumb, $source,$hx,$hy,$kx,$ky,$dw,$dh,$sw,$sh);
    $thumb200=$_SESSION['xxx']."_th200".$date.$ext;

    if($ext==".jpg"){
    imagejpeg($thumb,$uploaddir."thumb/".$thumb200, 200);
    }else{
    imagegif($thumb,$uploaddir."thumb/".$thumb200, 100);
    }

    ///th200yarat //////////////////

    }else{ // if !moveuploaded
    ?>
    <script>
        alert("Resim yüklenemedi.");
        window.open("<?=$link?><?if(!empty($_REQUEST['id'])){?>?id=<?=$_REQUEST['id']?><?}?>","_self");   
    </script>
    <?
        die();
    } // if moveuploaded




    //// artık 2 tane daha thumb yarat ////////////////////



    $g3=explode(".",$thumb200);
    $ext=".".$g3[1];
    $uploaddir="user/";

    for($i=80;$i<121;$i+=40){

    $th="thumb".$i;

    $dosya_ismi=$_SESSION['xxx']."_th".$i."_".$date;
    $istenenBoyut=$i;
    if($ext==".jpg"){
            $resim = imagecreatefromjpeg($uploaddir."thumb/".$thumb200);
    }elseif($ext==".gif"){
            $resim = imagecreatefromgif($uploaddir."thumb/".$thumb200);
    }elseif($ext==".png"){
            $resim = imagecreatefrompng($uploaddir."thumb/".$thumb200);
    }       

            $resim_width = imageSX($resim);
            $resim_height = imageSY($resim);

            if($resim_width > $resim_height)
            {
            $yeni_width = $istenenBoyut;
            $factor = $yeni_width/$resim_width;
            $yeni_height = round($resim_height * $factor);
            }
            else
            {
            $yeni_height = $istenenBoyut;
            $factor = $yeni_height/$resim_height;
            $yeni_width = round($resim_width * $factor);
            }

           $tmp = imageCreateTrueColor($yeni_width,$yeni_height);
            imagecopyresampled($tmp, $resim, 0, 0, 0, 0, $yeni_width, $yeni_height, $resim_width, $resim_height);
            imagedestroy($resim);
            $resim = imagecreatetruecolor($yeni_width,$yeni_height);
            imagecopy($resim, $tmp, 0,0,0,0, $yeni_width, $yeni_height);
            if($ext==".jpg"){
            imagejpeg($resim,$uploaddir."thumb/".$dosya_ismi.$ext, 70);
            }elseif($ext==".gif"){
            imagegif($resim,$uploaddir."thumb/".$dosya_ismi.$ext, 70);
            }elseif($ext==".png"){
            imagepng($resim,$uploaddir."thumb/".$dosya_ismi.$ext, 9);
            }       
           
            $$th=$dosya_ismi.$ext;

    }                  


    ////// uygun boyutta thumblar ////////////


    } // ! empty file1

    ?>


    herşeyin bir şeyi vardır
Toplam Hit: 1414 Toplam Mesaj: 3