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

resmi yüklerken kücültme

arkadaşlar şu şekilde resmi yüklüyorum ama resmi yüklerken uzunluğunu 600 olarak genişliğini otomatik oranlı olarak kücülterek nasıl kayıtlarım

	$strsize  = $_FILES['upload_img']['size'];
	$strtype  = $_FILES['upload_img']['type'];
	$tmpname  = $_FILES['upload_img']['tmp_name'];
	$strname  = $_FILES['upload_img']['name'];
		
	if      ($strtype == "image/gif")   $extensions = ".gif"; 
	elseif  ($strtype == "image/jpeg")  $extensions = ".jpeg"; 
	elseif  ($strtype == "image/pjpeg") $extensions = ".jpg"; 
	elseif  ($strtype == "image/x-pn")  $extensions = ".png"; 
		
	$filename	 = md5(rand(9,99999)); 
	$newfilename = $filename.$extensions;

	move_uploaded_file ($tmpname,"upload/".$newfilename) or die("Image Uploads Error Has Occurred Please Try Again Later");
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • halidaltuner adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    144 cevap - 4 soru
    Şu örnekte ratio değeri hesaplanarak küçültülen bir örnek kod mevcut.

    http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/
    • rootel587 adlı üyenin fotoğrafı rootel587
      bu sınıfı kullanmak istiyorum lakin

      ����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ��C    $.' ",#(7),01444'9=82<.342��C  2!!22222222222222222222222222222222222222222222222222��]�"�� ���}!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������� ���w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������� ?�yb����� �iy%�v��)�f�]-�E1E;��y`��H �j����?�9`��AlH�)E�;Q`�Am��[�t��ȩ��PH���ak�J��`�T������&q�g��k8�6��$���� B3��V��$qHm�)�k�ӊ���~���l�v���Y���+B���)����m��N{R2s�֠w1]MbX�4R�GD�mbs���g�d����죄"�8<�Q�` g5�f fՃ3�_+�Z*B�4��ˍ����@���Zd�ܡ\0뚝~\zTS9y ��@�� M��<|�#5�4�d���z� ���ZZ��4��X|�xw�����%ܗ6��$��JPG��[���7�.��7���X���5%"���h��pc��m�H�9����+����/ �V�RQݥ(Tp~��53_�����T+%���ky������*dPc��Y �f���@X�c�s��H71W�08�1`�2Ec$�q�p;U+�^��k�6��ǭT��ƒ����� ��"�ӻ�y�(����K��C/��'���w�0=8#�N,��>�� �q�&=FqPcz�2� �?�T# ��s@��J��y�*Ġ+cvj��Hc��Մ�N��k�vG��1��?�60A�#�Lf�'m�)E%��w��� ����#�6�9W �����*���@��P�����9�`���]����*[-#��)��J��6�� |�b\�A�����^���Y��U���2H���� ���t�������56�yb\��=��t���l �ҙ�!�2����ӟJ�� �q-IJ"Grʀp���X�����1���i��S֤U�4� *X������ a�I�ޫ�ō�db�psM���֑V9��?QV�~Y9QTeb�2I.��?���ib���y��j��Ib��2��k��QE'z���$�����M�)�@Ϯj�K��O�����������T'5#04ޠ�� &���ӯ��EV(s���Vo��P���;u��9(�#=�f���OG�[-R���YcpX0�ǯ��ƍ�E>��#x���=ǧ��joc����pH ��Lb�-�wqy�c��l���ګ���Έb����Mß�+��Qr�oD��y�ʌ������'�_/����$*o�;G��vz;�6bI�Q]�I�@�5���oԮ��Y�=�x�.��������R0zb�{���3Ҡa�9[��R&��^=*�N@�擂��TL����$1���U.���=������i���Vb�ޱ��&��s�Z����˜sO2�=�)'���^}�����J9�z�$'��R�� ��5b!�T���r#�f�)��P���z��|]yn�F��*�sՅq�0vܫ6��jYH�5o�������n�����}�Xhp1U� ��ypsJ�\��݊B��_���4�7p( ����{�_��U�An���T��@\��1���+1���5 �ש�-q���Ke����Z+*�|�w (1�Z�d5'4�~�nj��Ř�2O�Y�J��UsE�cXNq�jd��$�@��N�)�V5�z��x�J�je��cu.0z՘�9�X)3U��lR{���'O5�&n��9��P;�mt�Q���i��B�6s�AsP]I=*���W��k`�PK+`@Kq�֫����P�O�j�riį.MU��E!���

      bu şekilde jpg kodlarını ekrana basıyor :(

      <? require("system/resizing.class.php"); ?>
      
      <?php
         if( isset($_POST['submit']) ) {
      
            $image = new SimpleImage();
            $image -> load($_FILES['uploaded_image']['tmp_name']);
            $image -> resizeToWidth(150);
            $image -> output();
         } else {
       
      ?>
       
         <form action="index.php" method="post" enctype="multipart/form-data">
            <input type="file" name="uploaded_image" />
       
            <input type="submit" name="submit" value="Upload" />
       
         </form>
       
       <?
       
      
         ?>
      <?php
         }
      ?>
      10 yıl önce yazılmış
  • yunusy adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    9 cevap - 3 soru
    function add_pic($picture)
    {
    	if(empty($picture['tmp_name']))
    		return false;
    	$picdata = getimagesize($picture['tmp_name']);
    	$maxwidth=600;
    	$maxheight=600;
    	$width=intval($picdata['0']);
    	$height=intval($picdata['1']);
    	$ext=$picdata['mime'];
    	$source='';
    	if ($width==0||$height==0)
    		die("Yükleme çalıştığınız dosya bir resim değil!!!");
    	if ($width>$maxwidth){
    		$ratio=$width/$maxwidth;
    		$newwidth=$maxwidth;
    		$newheight=$height/$ratio;
    	} else {
    			$newwidth=$width;
    			$newheight=$height;
    	}
    	////////////////////////////
    	if($picture['size']>"999999999999999999"){
    		die("Yükleme çalıştığınız dosya bir resim değil!!!2");
    	}elseif ($picture['type'] != "image/gif" && $picture['type'] != "image/bmp" && $picture['type'] != "image/jpeg" && $picture['type'] != "image/png"){
    		die("Yükleme çalıştığınız dosya bir resim değil!!!3");
    	}
    	else {
    		if($picture['type'] == "image/gif") 
    			$source=imagecreatefromgif($picture['tmp_name']);
    		elseif($picture['type'] == "image/jpeg") 
    			$source=imagecreatefromjpeg($picture['tmp_name']);
    		elseif($picture['type'] == "image/jpg") 
    			$source=imagecreatefromjpeg($picture['tmp_name']);
    		elseif($picture['type'] == "image/bmp") 
    			$source=ImageCreateFromBMP($picture['tmp_name']);
    		elseif($picture['type'] == "image/x-pn") 
    			$source=imagecreatefrompng($picture['tmp_name']);
    		elseif($picture['type'] == "image/png") 
    			$source=imagecreatefrompng($picture['tmp_name']);
    	}
    	/////////////////////////////
    
    	// text halinde görünen dosyayı resim haline getirdik ve source değişkenine atadık 
    	$dest= imagecreatetruecolor($newwidth,$newheight);
    	$white = imagecolorallocate($dest, 255, 255, 255);
    
    	// Make the background white
    
    	imagefilledrectangle($dest, 0, 0, $width, $height, $white);
    
    	// yeni hesapladığımız ebatlarda boş bir resim sayfası oluşturduk 
    	imagecopyresized($dest, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    	// hedefteki dosyayı 0 a 0 koordinatlarından alıp, yeni ebatlara göre, hedefteki resime 0a 0 koordinatlarından koydurduk.
    	ob_start();
    	// verileri tampona alıyorum
    	Imagejpeg($dest);
    	// resim oluşturuyorum
    	$pic=ob_get_contents();
    	// şu ana kadar tamponda tuttuğum ekran çıktılarını, resim değişkenine alıyorum
    	ob_end_clean();
    	// tamponu boşaltıyorum
    	imagedestroy($dest);
    	$filename = md5(uniqid(mt_rand().time(),true)).'.jpg';
    	$returnval=$filename;
    	$file = fopen('tempitempics/'.$filename, 'w');
    	// içine kayıt yapmak üzere yeni bir dosya oluşturduk
    	@fwrite($file, $pic);
    	// dosya içine resim değişkenindeki bilgileri yazdırdık
    	@fclose($file);	
    	return $returnval;  //Dosya adını döndür
    }
    

    Birkaç farklı scriptin kodlarını birleştirmiştim. Ayrıca ImageCreateFromBMP diye bir fonksiyon yok. Kendimizin oluşturması gerekiyor. O da şu şekilde

    function ImageCreateFromBMP($filename)
    {
     //Ouverture du fichier en mode binaire
       if (! $f1 = fopen($filename,"rb")) return FALSE;
    
     //1 : Chargement des ent tes FICHIER
       $FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
       if ($FILE['file_type'] != 19778) return FALSE;
    
     //2 : Chargement des ent tes BMP
       $BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                     '/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                     '/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
       $BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
       if ($BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
       $BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
       $BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
       $BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
       $BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
       $BMP['decal'] = 4-(4*$BMP['decal']);
       if ($BMP['decal'] == 4) $BMP['decal'] = 0;
    
     //3 : Chargement des couleurs de la palette
       $PALETTE = array();
       if ($BMP['colors'] < 16777216)
       {
        $PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
       }
    
     //4 : Cr ation de l'image
       $IMG = fread($f1,$BMP['size_bitmap']);
       $VIDE = chr(0);
    
       $res = imagecreatetruecolor($BMP['width'],$BMP['height']);
       $P = 0;
       $Y = $BMP['height']-1;
       while ($Y >= 0)
       {
        $X=0;
        while ($X < $BMP['width'])
        {
         if ($BMP['bits_per_pixel'] == 24)
            $COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
         elseif ($BMP['bits_per_pixel'] == 16)
         {
            $COLOR = unpack("n",substr($IMG,$P,2));
            $COLOR[1] = $PALETTE[$COLOR[1]+1];
         }
         elseif ($BMP['bits_per_pixel'] == 8)
         {
            $COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
            $COLOR[1] = $PALETTE[$COLOR[1]+1];
         }
         elseif ($BMP['bits_per_pixel'] == 4)
         {
            $COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
            if (($P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
            $COLOR[1] = $PALETTE[$COLOR[1]+1];
         }
         elseif ($BMP['bits_per_pixel'] == 1)
         {
            $COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
            if     (($P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
            elseif (($P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
            elseif (($P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
            elseif (($P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
            elseif (($P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
            elseif (($P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
            elseif (($P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
            elseif (($P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
            $COLOR[1] = $PALETTE[$COLOR[1]+1];
         }
         else
            return FALSE;
         imagesetpixel($res,$X,$Y,$COLOR[1]);
         $X++;
         $P += $BMP['bytes_per_pixel'];
        }
        $Y--;
        $P+=$BMP['decal'];
       }
    
     //Fermeture du fichier
       fclose($f1);
    
     return $res;
    }
    
    • yunusy adlı üyenin fotoğrafı yunusy
      $picture parametresine $_FILES['resimAdı'] gibi bir değişken göndermen gerekiyor
      10 yıl önce yazılmış