• 19-06-2013, 17:01:06
    #1
    PHP de 500x500 bir resmi 100x100 boyutunda yüklemek istiyorum.
    Ben önce resmi yüklettirip daha sonra 100x100 boyutunda bir kopyasını yapıp daha sonra orjinal resmi sildiriyorum. Fakat direk 500x500 resmi 100x100 boyutuna düşürerek yüklemek mümkün mü?
  • 19-06-2013, 17:12:52
    #2
    <?php
    function ufalt($minik,$neki,$klasor,$boy,$en){
    
    			$new_name       = substr(uniqid(md5(rand())), 0,10);
    			$thumb_size     = $boy;
                $dosya          = "$klasor/$minik";
    			switch ($neki) {  
    			case '.jpeg':  $resim          = imagecreatefromjpeg($dosya); break;
    			case '.gif':  $resim          = imagecreatefromgif($dosya); break;
    			case '.png':  $resim          = imagecreatefrompng($dosya); break;
    			case '.bmp':  $resim          = imagecreatefromwbmp($dosya); break;
    			default: $resim          = imagecreatefromjpeg($dosya); break; }		
    
                @$boyutlar       = getimagesize($dosya);
                @$resimorani     = $thumb_size/$boyutlar[0];
                @$yeniyukseklik  = $resimorani*$boyutlar[1];
                @$yeniresim      = imagecreatetruecolor($thumb_size,$en);
                 
                imagecopyresampled($yeniresim,$resim,0,0,0,0,$thumb_size,$en,$boyutlar[0],$boyutlar[1]);
                $hedefdosya = "$klasor/thumb_{$minik}";
                imagejpeg($yeniresim,$hedefdosya,100);
    
          return $hedefdosya; 
    		}
    ?>
    Resim ufaltma fonksiyonumuz üst taraftadır

    Örnek kullanım.
    $resim = $_FILES['resim'];
    $yuzanti     = substr($resim, -4); ($yuzanti == ('jpeg') ? $yuzanti='.'.jpeg : $yuzanti); 
    $thum = ufalt($resim,$yuzanti,"resimler","100","100");
  • 20-06-2013, 05:08:04
    #3
    Msn adlı üyeden alıntı: mesajı görüntüle
    <?php
    function ufalt($minik,$neki,$klasor,$boy,$en){
    
    			$new_name       = substr(uniqid(md5(rand())), 0,10);
    			$thumb_size     = $boy;
                $dosya          = "$klasor/$minik";
    			switch ($neki) {  
    			case '.jpeg':  $resim          = imagecreatefromjpeg($dosya); break;
    			case '.gif':  $resim          = imagecreatefromgif($dosya); break;
    			case '.png':  $resim          = imagecreatefrompng($dosya); break;
    			case '.bmp':  $resim          = imagecreatefromwbmp($dosya); break;
    			default: $resim          = imagecreatefromjpeg($dosya); break; }		
    
                @$boyutlar       = getimagesize($dosya);
                @$resimorani     = $thumb_size/$boyutlar[0];
                @$yeniyukseklik  = $resimorani*$boyutlar[1];
                @$yeniresim      = imagecreatetruecolor($thumb_size,$en);
                 
                imagecopyresampled($yeniresim,$resim,0,0,0,0,$thumb_size,$en,$boyutlar[0],$boyutlar[1]);
                $hedefdosya = "$klasor/thumb_{$minik}";
                imagejpeg($yeniresim,$hedefdosya,100);
    
          return $hedefdosya; 
    		}
    ?>
    Resim ufaltma fonksiyonumuz üst taraftadır

    Örnek kullanım.
    $resim = $_FILES['resim'];
    $yuzanti     = substr($resim, -4); ($yuzanti == ('jpeg') ? $yuzanti='.'.jpeg : $yuzanti); 
    $thum = ufalt("$resim",$yuzanti,"resimler","100","100");
    yani bu upload etmeden boyutu değiştiriyor öyle mi?
  • 20-06-2013, 09:39:16
    #4
    Upload etmeden resmin boyutlarını PHP ile değiştiremezsiniz. Yapacağınız en mantıklı yol, resmi upload edildiği geçici klasördeyken küçültüp, sitenizdeki yerine taşımaktır. Başka da bir yolu yoktur.
    PHP sunucu tabanlı bir dil olduğundan istemci tarafına ulaşamaz.
  • 20-06-2013, 13:48:06
    #5
    zesa adlı üyeden alıntı: mesajı görüntüle
    PHP de 500x500 bir resmi 100x100 boyutunda yüklemek istiyorum.
    Ben önce resmi yüklettirip daha sonra 100x100 boyutunda bir kopyasını yapıp daha sonra orjinal resmi sildiriyorum. Fakat direk 500x500 resmi 100x100 boyutuna düşürerek yüklemek mümkün mü?
    Resmi ilk post ettiğinizde, tmp klasörüne kaydolur. Daha move_uploaded_file ya da copy gibi fonksiyonları kullanmadan resim sizin alanınızda olur yani. tmp klasöründeki resmi küçültüp istediğiniz klasöre taşırsanız, büyüğü yükleyip küçüğe çevirip sonra da büyüğü silmenize gerek kalmaz.
  • 20-06-2013, 13:51:55
    #6
    Üyeliği durduruldu
    senin bahsettiğin olayı ben kendim yapıyorum mesela resim 500 ebatında ben bunu photoscape prg si ile 800 e dönüştürüp direk upload ediyorum.
  • 21-06-2013, 01:16:36
    #7
    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    Resmi ilk post ettiğinizde, tmp klasörüne kaydolur. Daha move_uploaded_file ya da copy gibi fonksiyonları kullanmadan resim sizin alanınızda olur yani. tmp klasöründeki resmi küçültüp istediğiniz klasöre taşırsanız, büyüğü yükleyip küçüğe çevirip sonra da büyüğü silmenize gerek kalmaz.
    şuan bana harika birşey öğrettin, çok teşekkür ederim.