• 04-09-2010, 11:41:37
    #1
    iyi günler arkadaşlar.öncelikle bu tür konular var olduğu halde bu konuyu açtığım için özürdiliyorum.Fakat diğer konularda tam olarak benim istediğim veriye ulaşamadım ulassamda anlayamadım.Ben bir form alanı yaptım ordan upload yapıyorum sorunsuz calısıyor fakat bu upload yaptığım resmin belirttiğim dizine 80x80 boyutlarında gitmesini istiyorum misal.Bu olayı tam olarak benim özgün kodlarıma uyarlamam lazım.Upload kod şu şekilde;
    Yardımlarınızı bekliyorum
      global $siteadi;
        $kaynak = $_FILES["dosya"]["tmp_name"];
        $dosyaadi = $_FILES["dosya"]["name"];
        $dosyatipi = $_FILES["dosya"]["type"];
        $dizin = "uploads";
        $uzanti = substr($dosyaadi,-4);
        $rastgele = substr(md5(uniqid(rand())), 0,10);
        $yeniad = $rastgele.$uzanti;
        $guvenlik = $_POST["gk"];
        $kontrol = $_SESSION["gk"];
        if($kontrol!=$guvenlik){
            echo "<h2><center>Guvenlik Kodu Hatali</h2></center>";
            echo "<br>";
            $back = '<a href="javascript:window.history.go(-1)">< Geri</a>';
            echo $back;
        }else{
        if(($dosyatipi!="image/jpeg")&&($dosyatipi!="image/bmp")&&($dosyatipi!="image/png")&&($dosyatipi!="image/gif")){
            echo "<h2><center>izin verilen dosya tipleri jpg,bmp,png,gif.cakallik yapma Life</center></h2>";
            echo'<meta http-equiv="refresh" content="1;url=yonet.php?Life=DosyaYukle" />'; 
        }else{
        $file = move_uploaded_file($kaynak,$dizin.'/'.$yeniad);
        if($file){
            echo "<h2><center>Dosya Basariyla Yuklendi<h2></center><br>";
            echo "<center>Dosya Url : ".$siteadi.'/'.$yeniad;
            echo "<br>";
            echo '<a href="?Life=DosyaYukle">Geri Don</a>';
        }else{
            echo "Dosya Yuklenemedi";
            echo'<meta http-equiv="refresh" content="2;url=yonet.php?Life=DosyaYukle" />';
        }
        }
        }
  • 04-09-2010, 12:41:44
    #2
    Üyeliği durduruldu
    antipos adlı üyeden alıntı: mesajı görüntüle
    iyi günler arkadaşlar.öncelikle bu tür konular var olduğu halde bu konuyu açtığım için özürdiliyorum.Fakat diğer konularda tam olarak benim istediğim veriye ulaşamadım ulassamda anlayamadım.Ben bir form alanı yaptım ordan upload yapıyorum sorunsuz calısıyor fakat bu upload yaptığım resmin belirttiğim dizine 80x80 boyutlarında gitmesini istiyorum misal.Bu olayı tam olarak benim özgün kodlarıma uyarlamam lazım.Upload kod şu şekilde;
    Yardımlarınızı bekliyorum
    Upload edilen resmi 80x80 olarak yaparsan resimde muhakkak ki bozulma olacağını düşünmekteyim ancak tual 80x80 yapılıp içerisine resim orjinal boyutlarından alınıp orantılanıp yerleştirilebilinir bu sefer de bazı resimlerin çok daha küçük olabilir.

    Mantığı şu form ile gönderdiğin resmin genişliğini ve yüksekliğini al.
    $boyutlar		=	getimagesize("resim.jpg");
    $boyutlar[0]; //Genişliği
    $boyutlar[1]; //yüksekliği verir
    
    /*
    80x80 bir tual çizdir.Tualin üzerine basmak üzere de bir resim hazırlattır
    */
    $resimoranin = 80/$boyutlar[0];
    $yeniyukseklik = $resimonranin*$boyutlar[1];
    /*
    Resmini yeni eni ve boyu ile tualin üzerine bastır bu basit bir örnek yükseklik 80 üstüne çıkabilme ihtimali var ancak sen matematiksel olarak daha iyi bir kurgulama yapabilirsen tam 80x80 resim olarak bastırırsın ben bir ara yapmıştım :)
    */
  • 04-09-2010, 18:50:49
    #3
    THR
    Üyeliği durduruldu
    bu benim thumb için kullandığım fonksiyon (class dan söktüm biraz garip gözükebilir ama mantığıı çözersin)
    	function thumb($thedef="" , $w=100 , $h=100){
    		if($this->hata != 0)
    			return 0;
    			
    		$tkaynak = $this->dosya['tmp_name'];
    		if(!file_exists($tkaynak))
    			return 0;
    	
    		
    		
    	
    			if(empty($thedef))
    				$thedef = "t/" . $this->isim;
    			
    			// Dosyanin genislik, yukseklik ve tur bilgilerini aliyoruz	
    			$bilgi = getimagesize($tkaynak);
    			$gen = $bilgi[0];
    			$yuk = $bilgi[1];
    			$tur = $bilgi['mime'];
    		
    
    			$im = imagecreatetruecolor($w,$h);
    			
    			if($tur == "image/jpeg")
    				$imx = imagecreatefromjpeg($tkaynak);
    			elseif($tur == "image/png")
    				$imx = imagecreatefrompng($tkaynak);
    			elseif($tur == "image/gif")
    				$imx = imagecreatefromgif($tkaynak);
    			else
    				return 0;
    			
    			
    			imagecopyresampled($im,$imx,0,0,0,0,$w,$h,$gen,$yuk);
    			
    			
    			
    			if($tur == "image/jpeg")
    				imagejpeg($im,$thedef);
    			elseif($tur == "image/png")
    				imagepng($im,$thedef);
    			elseif($tur == "image/gif")
    				imagegif($im,$thedef);
    
    			imagedestroy($im);
    			imagedestroy($imx);
    			
    			return $thedef;
    		
    	}
  • 04-09-2010, 23:00:37
    #4
    Sorunu hallettim teşekkürler