• 12-05-2009, 19:00:48
    #1
    Üyeliği durduruldu
    Arkadaslar sunucudaki resimlerin boyutunu değiştirmek istiyorum.


    Bunun için script varmı. Ama dosyaları oyle gostermeyecek değiştirecek tamamen.
  • 12-05-2009, 19:44:14
    #2
    Üyeliği durduruldu
    image resize diye forumda aratırsanız çok defa sorulmuş ve cevaplanmis bi soru bu
  • 24-05-2009, 11:32:49
    #3
    Üyeliği durduruldu
    Ben aratınca hiç sonuc gelmiyor yardımcı olabilecek varmı
  • 24-05-2009, 12:47:31
    #4
    Aşağıdaki kodlar işini görebilir
    klasör isimleri buyuk ve kucuk değişkenlerinde resim genişlik ve yüksekliği en ve boy değişkenlerinde ayarlanıyor..
       <? 
    
    //klasordeki png ve jpeg'leri boyutlandıran bir script 
    
    // Osman Yüksel 28.03.2005 
    
    //Not bu kisi ben degilim :) 
    
    
    
    $buyuk = "buyuk/";  //ana resimlerin bulunduğu klasor 
    
    $kucuk = "kucuk/";  //kucultulecek resimlerin olacağı klasor 
    
    
    
    if (!file_exists($kucuk)) {//eğer klasor yoksa 
    
    echo "$kucuk klasoru yok"; 
    
    exit; 
    
    } #if 
    
    if (!file_exists($buyuk)) {//eğer klasor yoksa 
    
    echo "$buyuk klasoru yok"; 
    
    exit; 
    
    } #if 
    
    if (!is_writeable($kucuk)) { //eğer klasore yazma izni yoksa 
    
    echo "$kucuk klasorune yazma izniniz bulunmuyor"; 
    
    exit; 
    
    } #if 
    
    
    
    
    
    
    
    //$buyuk icindeki dosyaları al boyutunu değiştirip $kucuk icine kaydet 
    
    $klasor = @opendir($buyuk); 
    
    while ($dosya = readdir($klasor)) { //her dosya için 
    
        // eğer uzantı jpg veya png ise ve bu bir klasor değilse 
    
        if($dosya == "." || $dosya == ".." || is_dir($buyuk.$dosya) || 
    
        (!preg_match("/.jpg/",$dosya) AND !preg_match("/.png/",$dosya))) continue; 
    
    
    
        $fp = @fopen($buyuk.$dosya,"r");  //dosyayı aç 
    
        $ozellik = @GetImageSize($buyuk.$dosya); //resmin özelliklerini al 
        
        
        
        
        
         $en1 = $ozellik[0]; 
            $boy1 = $ozellik[1]; 
            
            if ($en1>$boy1){
    
                if( $en1 > 73) 
                { 
                    $en = 73; 
                    $boy = floor(($en / $en1) * $boy1); 
                } else { 
                    $en = $en1; 
                    $boy = $boy1; 
                } 
                }else{
                 if( $en1 > 90) 
                { 
                    $boy = 90; 
                    $en = floor(($boy / $boy1) * $en1); 
                } else { 
                    $en = $en1; 
                    $boy = $boy1; 
                } }
        
        
        
        
        
    
        $tur = $ozellik[2];  //resmin tipi  2 = jpeg , 3 = png 
    
    
    
        if ($tur=="2") { //eğer jpeg ise 
    
        echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... "; 
    
        $kaynak = imagecreatefromjpeg($buyuk.$dosya); //jpegden dosyayı al 
    
        $hedef = imagecreatetruecolor($en,$boy);  //true colour olarak yeni bir resim oluştur 
    
        //kaynağın boyutunu değiştirip $hedefe yaz 
    
        imagecopyresized($hedef,$kaynak,0,0,0,0,$en,$boy,imagesx($kaynak),imagesy($kaynak)); 
    
        //hedefi dosyaya yaz 
    
        imagejpeg($hedef, $kucuk.$dosya); 
    
        echo "[Tamam]<br>"; 
    
        } #else 
    
        elseif  ($tur=="3") { //eğer png ise 
    
        echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... "; 
    
        $kaynak=ImageCreateFrompng($buyuk.$dosya); //png'den dosya al 
    
        $hedef=ImageCreatetruecolor($en,$boy); //true colour olarak yeni bir resim oluştur 
    
        //kaynağın boyutunu değiştirip $hedefe yaz 
    
        ImageCopyResized($hedef,$kaynak,0,0,0,0,$en,$boy,ImageSX($kaynak),ImageSY($kaynak)); 
    
        //hedefi dosyaya yaz 
    
        Imagepng($hedef, $kucuk.$dosya); 
    
        echo "[Tamam]<br>"; 
    
        } #elseif 
    
        @fclose($fp); //dosyayı kapat 
    
    } #while 
    
    ?>