Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

php resim yükleme kücültme

merhaba arkadaşlar bu işlemle resmi yüklerken thumbnail olarak kücültüyorum lakin aynı işlemi yüklenen orginal resim 800x600 dan büyükse width: 800 haline nasıl getiriim bana bu konuda yardımcı olursanız sevinirim..


$source			= @$_FILES["resim"]["tmp_name"];
		$new_name		= RandomName();
		$upload_file 	= "../upload/";
		$upload 		= $upload_file.basename("photo_".$new_name.".jpg");
		$thumb_size 	= 150;

		if(move_uploaded_file($source,$upload))
		{
			$dosya 			= "../upload/".$upload;
			$resim 			= imagecreatefromjpeg($dosya);
			$boyutlar		= getimagesize($dosya);
			$resimorani		= $thumb_size/$boyutlar[0];
			$yeniyukseklik	= $resimorani*$boyutlar[1];
			$yeniresim		= imagecreatetruecolor($thumb_size,$yeniyukseklik);
			
			imagecopyresampled($yeniresim,$resim,0,0,0,0,$thumb_size,$yeniyukseklik,$boyutlar[0],$boyutlar[1]);
			$hedefdosya = "../upload/thumb_{$new_name}.jpg";
			imagejpeg($yeniresim,$hedefdosya,100);

			chmod($upload_file,0755);
			mysql_query("insert into photogallery (photo_name,page_name,data_id) values ('$new_name.jpg','$pageName','$dataID')").mysql_error(); 
			header("Location: index.php?page=photogallery&page_name={$pageName}&data_id={$dataID}&pr=completed");
		}
		else
		{
			print $error;
		}
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • ieee adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    3 cevap - 6 soru
    
    
    
    if(move_uploaded_file($source,$upload)) 
    { 
    $dosya = "../upload/".$upload; 
    $resim = imagecreatefromjpeg($dosya); 
    $boyutlar = getimagesize($dosya); 
    if($boyutlar[0]>800) 
    
    { 
    
    $resimorani =800; 
    $yeniyukseklik = 800/$boyutlar[0]*$boyutlar[1]; 
    $yeniresim = imagecreatetruecolor(800,$yeniyukseklik); 
    } 
    else 
    { 
    $resimorani = $thumb_size/$boyutlar[0]; 
    $yeniyukseklik = $resimorani*$boyutlar[1]; 
    $yeniresim = imagecreatetruecolor($thumb_size,$yeniyukseklik); 
    }
    
    • rootel587 adlı üyenin fotoğrafı rootel587
      if(move_uploaded_file($source,$upload))
      		{
      			$dosya 			= "../upload/".$upload;
      			$resim 			= imagecreatefromjpeg($dosya);
      			$boyutlar		= getimagesize($dosya);
      			$resimorani		= $thumb_size/$boyutlar[0];
      			$yeniyukseklik	= $resimorani*$boyutlar[1];
      			$yeniresim		= imagecreatetruecolor($thumb_size,$yeniyukseklik);
      			
      			if($boyutlar[0]>800) 
      
      { 
      
      $resimorani =800; 
      $yeniyukseklik = 800/$boyutlar[0]*$boyutlar[1]; 
      $yeniresim = imagecreatetruecolor(800,$yeniyukseklik); 
      } 
      else 
      { 
      $resimorani = $thumb_size/$boyutlar[0]; 
      $yeniyukseklik = $resimorani*$boyutlar[1]; 
      $yeniresim = imagecreatetruecolor($thumb_size,$yeniyukseklik); 
      }
      
      			chmod($upload_file,0755);
      			mysql_query("insert into photogallery (photo_name,page_name,data_id) values ('$new_name.jpg','$pageName','$dataID')").mysql_error(); 
      			header("Location: index.php?page=photogallery&page_name={$pageName}&data_id={$dataID}&pr=completed");
      		}
      		else
      		{
      			print $error;
      		}
      


      bu şekilde yaptım resmi sadece orginal boyutlarında yükledi okadar nerde hata yaptım acaba cözemedim ?
      11 yıl önce yazılmış
    • ieee adlı üyenin fotoğrafı ieee
      if(move_uploaded_file($source,$upload))
              {
                  $dosya          = "../upload/".$upload;
                  $resim          = imagecreatefromjpeg($dosya);
                  $boyutlar       = getimagesize($dosya);
                              
                  if($boyutlar[0]>800) 
       
      { 
       
      $resimorani =800; 
      $yeniyukseklik = 800/$boyutlar[0]*$boyutlar[1]; 
      $yeniresim = imagecreatetruecolor(800,$yeniyukseklik); 
      } 
      else
      { 
      $resimorani = $thumb_size/$boyutlar[0]; 
      $yeniyukseklik = $resimorani*$boyutlar[1]; 
      $yeniresim = imagecreatetruecolor($thumb_size,$yeniyukseklik); 
      }
      
                  chmod($upload_file,0755);
                  mysql_query("insert into photogallery (photo_name,page_name,data_id) values ('$new_name.jpg','$pageName','$dataID')").mysql_error(); 
                  header("Location: index.php?page=photogallery&page_name={$pageName}&data_id={$dataID}&pr=completed");
              }
              else
              {
                  print $error;
              }
      
      
      
      11 yıl önce yazılmış
    • ieee adlı üyenin fotoğrafı ieee
      yeniden dener misin? cünki 5 satırdan sonraki satırları silip sonra if else blogunu kopy paste etmek gerekli olabilir.
      kolay gelsin.
      11 yıl önce yazılmış
    • rootel587 adlı üyenin fotoğrafı rootel587
      $source			= @$_FILES["resim"]["tmp_name"];
      		$new_name		= RandomName();
      		$upload_file 	= "../upload/";
      		$upload 		= $upload_file.basename("photo_".$new_name.".jpg");
      		$thumb_size 	= 150;
      
      		if(move_uploaded_file($source,$upload))
              {
                  $dosya          = "../upload/".$upload;
                  $resim          = imagecreatefromjpeg($dosya);
                  $boyutlar       = getimagesize($dosya);
                              
                  if($boyutlar[0]>800) 
       
      { 
       
      $resimorani =800; 
      $yeniyukseklik = 800/$boyutlar[0]*$boyutlar[1]; 
      $yeniresim = imagecreatetruecolor(800,$yeniyukseklik); 
      } 
      else
      { 
      $resimorani = $thumb_size/$boyutlar[0]; 
      $yeniyukseklik = $resimorani*$boyutlar[1]; 
      $yeniresim = imagecreatetruecolor($thumb_size,$yeniyukseklik); 
      }
      
                  chmod($upload_file,0755);
                  mysql_query("insert into photogallery (photo_name,page_name,data_id) values ('$new_name.jpg','$pageName','$dataID')").mysql_error(); 
                  header("Location: index.php?page=photogallery&page_name={$pageName}&data_id={$dataID}&pr=completed");
              }
              else
              {
                  print $error;
              }
      


      şuanda bu şekilde yptım ama direk orginali yüklüyor thumbnail filan yapmıyor :(
      11 yıl önce yazılmış
    • ieee adlı üyenin fotoğrafı ieee
      $source         = @$_FILES["resim"]["tmp_name"];
              $new_name       = RandomName();
              $upload_file    = "../upload/";
              $upload         = $upload_file.basename("photo_".$new_name.".jpg");
              $thumb_size     = 150;
       
              if(move_uploaded_file($source,$upload))
              {
                  $dosya          = "../upload/".$upload;
                  $resim          = imagecreatefromjpeg($dosya);
                  $boyutlar       = getimagesize($dosya);if($boyutlar[0]>800){$thumb_size  = 800;}
                  $resimorani     = $thumb_size/$boyutlar[0];
                  $yeniyukseklik  = $resimorani*$boyutlar[1];
                  $yeniresim      = imagecreatetruecolor($thumb_size,$yeniyukseklik);
                   
                  imagecopyresampled($yeniresim,$resim,0,0,0,0,$thumb_size,$yeniyukseklik,$boyutlar[0],$boyutlar[1]);
                  $hedefdosya = "../upload/thumb_{$new_name}.jpg";
                  imagejpeg($yeniresim,$hedefdosya,100);
       
                  chmod($upload_file,0755);
                  mysql_query("insert into photogallery (photo_name,page_name,data_id) values ('$new_name.jpg','$pageName','$dataID')").mysql_error(); 
                  header("Location: index.php?page=photogallery&page_name={$pageName}&data_id={$dataID}&pr=completed");
              }
              else
              {
                  print $error;
              }
      
      


      yeniden dener misin?
      11 yıl önce yazılmış
    • rootel587 adlı üyenin fotoğrafı rootel587
      kod çalıştı ama yapmak istedim birtane thumb_564654.jpg adında width:150px olucak şekilde resmi yapsında birde photo_654564.jpg width:800 olucak şekilde oluştursun istiyorum...
      11 yıl önce yazılmış
    • ieee adlı üyenin fotoğrafı ieee
      çalışmasına sevindim.iki ayrı klasore attırman yada aynı klasore isim değiştirerek iki ayrı resim oalrak attırabilirsin. yoksa ı
      ismini aynı bırakırsan yeni oluşan resmi öncekinin üzerine yazar..

      o yüzden küçük resmi bir klosore büyük klasoru bir kasore atman gerekiyor.
      11 yıl önce yazılmış
    • rootel587 adlı üyenin fotoğrafı rootel587
      normalde 56487 şeklinde isim oluşturuyor büyük olana photo_ geliyor kücük olana thumb_ geliyor.
      11 yıl önce yazılmış
    • ieee adlı üyenin fotoğrafı ieee
      
      $source = @$_FILES["resim"]["tmp_name"];
              $new_name       = RandomName();
              $upload_file    = "../upload/";
              $upload         = $upload_file.basename("photo_".$new_name.".jpg");
              $thumb_size     = 150;
              if(move_uploaded_file($source,$upload))
              {
                  $dosya          = "../upload/".$upload;
                  $resim          = imagecreatefromjpeg($dosya);
                  $boyutlar       = getimagesize($dosya);
                  $resimorani     = $thumb_size/$boyutlar[0];
                  $yeniyukseklik  = $resimorani*$boyutlar[1];
                  $yeniresim      = imagecreatetruecolor($thumb_size,$yeniyukseklik);         
                  imagecopyresampled($yeniresim,$resim,0,0,0,0,$thumb_size,$yeniyukseklik,$boyutlar[0],$boyutlar[1]);
                  $hedefdosya = "../upload/thumb_{$new_name}.jpg";
                  imagejpeg($yeniresim,$hedefdosya,100);
        
                  chmod($upload_file,0755);
                  mysql_query("insert into photogallery (photo_name,page_name,data_id) values ('$new_name.jpg','$pageName','$dataID')").mysql_error(); 
                  header("Location: index.php?page=photogallery&page_name={$pageName}&data_id={$dataID}&pr=completed");
      if($boyutlar[0]>800){$thumb_size  = 800; $resimorani     = $thumb_size/$boyutlar[0];
                  $yeniyukseklik  = $resimorani*$boyutlar[1];
                  $yeniresim      = imagecreatetruecolor($thumb_size,$yeniyukseklik);         
                  imagecopyresampled($yeniresim,$resim,0,0,0,0,$thumb_size,$yeniyukseklik,$boyutlar[0],$boyutlar[1]);
                  $hedefdosya = "../upload/thumb2_{$new_name}.jpg";
                  imagejpeg($yeniresim,$hedefdosya,100);
        
                  chmod($upload_file,0755);
                  mysql_query("insert into photogallery (photo_name,page_name,data_id) values ('$new_name.jpg','$pageName','$dataID')").mysql_error(); 
                  header("Location: index.php?page=photogallery&page_name={$pageName}&data_id={$dataID}&pr=completed"); }
              }
              else
              {
                  print $error;
              }
      
      11 yıl önce yazılmış
    • ieee adlı üyenin fotoğrafı ieee
      bu şekide hem orjinali hem 800 hem de 150 boyutlu resimleri alabileceksiniz eger width 800 den fazlaysa 800 boyundaki resimin adının onunde 2 olacak.
      11 yıl önce yazılmış
    • rootel587 adlı üyenin fotoğrafı rootel587
      tşk ederim halloldu.
      11 yıl önce yazılmış
    • ahmet27 adlı üyenin fotoğrafı ahmet27
      benimde bu konu hakkında hem cevap hemde soru olması açısından öğrenmek istediğim bir konu var.İnternetten bulduğum şu php kodu. Bu kod çalışıyor ancak orjinal resmin olması istenen thumb değerine tam olaak getirmiyor,yaklaşık bir boyuta getiriyor.birde jpg resimleri kabul ediyor.değişik formatta resimleri upload etmek.daha önceki konuyla ilgili olarak orjinal resimleri sabit boyuttda tutmak.

      <?php 
      $idir = "images/"; //orjinal resmin koyulacağı klasör
      $tdir = "images/thumbs/"; // küçültülen dosyanın koyulacağı klasör
      $twidth = "125"; // küçültülen resimin maximum genişlik 
      $theight = "100"; // küçültülen resimin Maximum yükseklik 
      
      if (!isset($_GET['yontem'])) { // atama yapılmamışsa formu göster ?> 
      
      <form method="post" action="fotoekle.php?yontem=upload" enctype="multipart/form-data"> 
      File:<br /> 
      <input type="file" name="resim" class="form"> 
      <br /><br /> 
      <input name="submit" type="submit" value="Gönder" class="form"> <input type="reset" value="sil" class="form"> 
      </form> 
      
      
      <? } 
      else if (isset($_GET['yontem']) && $_GET['yontem'] == 'upload') 
      { 
      $url = $_FILES['resim']['name']; 
      if ($_FILES['resim']['type'] == "image/jpg" || $_FILES['resim']['type'] == "image/jpeg" || $_FILES['resim']['type'] == "image/pjpeg") 
      { 
      $file_ext = strrchr($_FILES['resim']['name'], '.');
      $copy = copy($_FILES['resim']['tmp_name'], "$idir" . $_FILES['resim']['name']);
      if ($copy) {
      print 'Image uploaded successfully.<br />'; 
      $simg = imagecreatefromjpeg("$idir" . $url);
      $currwidth = imagesx($simg); 
      $currheight = imagesy($simg); 
      if ($currheight > $currwidth) { 
      $zoom = $twidth / $currheight; 
      $newheight = $theight; 
      $newwidth = $currwidth * $zoom; 
      } else { 
      $zoom = $twidth / $currwidth; 
      $newwidth = $twidth;
      $newheight = $currheight * $zoom;
      } 
      $dimg = imagecreate($newwidth, $newheight);
      imagetruecolortopalette($simg, false, 256);
      $palsize = ImageColorsTotal($simg); 
      for ($i = 0; $i < $palsize; $i++) { 
      $colors = ImageColorsForIndex($simg, $i); 
      ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);
      } 
      imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);
      imagejpeg($dimg, "$tdir" . $url);
      imagedestroy($simg);
      imagedestroy($dimg); 
      print 'Image thumbnail created successfully.';
      } else { 
      print '<font color="#FF0000">HATA: Resim Upload Edilemedi.</font>';
      } 
      } else { 
      print '<font color="#FF0000">Hata: Resim dosyası değil (.jpg veya .jpeg. dosyaları '; 
      print $file_ext; 
      print '.</font>'; 
      } 
      } ?>
      
      
      
      11 yıl önce yazılmış

Cevaplar

  • ahmet27 adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    28 cevap - 9 soru
    
    <table width="410" height="710" bgcolor="#000000"  border="1" cellspacing="8" cellpadding="8" align="center">
    
    <table width="400" height="700" bgcolor="#f6f6f6"  border="1" cellspacing="8" cellpadding="8" align="center">
    
    <td>
    
    <center>
    
    <?php
    
    //Resimleri çektiğimiz kısım
    
    $klasor_adi = "images";//Resminizin Bulunduğu Yolu Yazınız
    
    $klasor_ac = opendir($klasor_adi);
    
    while($dosya = readdir($klasor_ac))
    
    {
    
    if(is_file($klasor_adi."/".$dosya))
    
    $resim[] = $dosya;
    
    }
    
    closedir($klasor_ac);
    
     
    
    //Tanımlanan bilgiler
    
    $sinir = 1; //Bir sayfada gösterilecek resim sayısı
    
    $sf = $_GET["sf"];//Get metodu ile hangi sayfada olduğumuzu çekiyoruz
    
    if($sf < 1) $sf = 1; //Sayfa numarası 1'den küçük olamayacağı için sayfa numaramızı böle bir sorunlar karşılaşmayalım diye 1'e eşitliyoruz.
    
    $toplam = count($resim);//$resim  dizisinin sayısını öğreniyoruz
    
     
    
    $kactan=($sf-1)*$sinir;// Sayfa sayısından bir çıkartarak ve sınır sayısı ile çarparak kacıncı resimde kaldıgımızı buluyoruz.
    
    $kaca=($kactan+$sinir); //Doğal olarakda kactan değerine sınırı eklersek kacıncı resime kadar göstereceğimizi bulmuş olacağız.
    
    if($kaca>$toplam)
    
    $kaca=$toplam; //Eğerki $kaca değerimiz toplam resim sayımızdan çok olursa toplam değerimizi tekrardan kaca değerine eşitliyoruz.
    
     
    
    //kaçıncı resimden başlayıp kacıncı resime kadar resim göstereceğini burada belirliyoruz.
    
    for($i=$kactan;$i<$kaca;$i++)
    
    {
    
    echo "<a href='".$klasor_adi."/".$resim[$i]."' target='_blank'><img onContextMenu='return false' src='".$klasor_adi."/".$resim[$i]."'  width='500 height='500' border='0'></a>"; //onContextMenu resimimizin kopyalanmısı engellyen koddur.
    
    }
    
    echo" </br></br></br>";
    
    //1'den başlayıp sayfa numarsına kadar olan linkleri göster...
    
    for($i=1; $i < $toplam / $sinir; $i++)
    
    {
    
    if($sf == $i)
    
    echo "$i-";
    
    else
    
    echo "<a href='resimsayfalama.php?sf=$i'>$i</a>-";
    
    }
    
    ?>
    
    </center><tr></td></tr></table>
    
    <tr></td></tr></table>
    
    • ahmet27 adlı üyenin fotoğrafı ahmet27
      verdiğim koddaki width ve height değerlerini değiştirerek resmi sabit hale getirebilirsin
      11 yıl önce yazılmış