• resize کردن تصویر با php
    #1
    Note 
    از این کد برای تغییر اندازه تصاویر استفاده کنید:


    کد php:
    <?php
       ob_start
    ();
     
     
      function calculate_width_height($width$height,$width_needed$height_needed)
     
      {
     
         if ($width <= $width_needed and $height <= $height_needed)
     
         {
     
            //Estimate if both Width and Height of the image are smaller then
     
            //the given values for Width and Height
     
            //if this is true dan keep the original size of the image
     
            $l_new_width=$width;
     
            $l_new_height=$height;
     
         }
     
         else
          
    {
     
            if ($height $height_needed)
     
            {
     
               //If the value of the height of the image is greater then the given value for height
     
               //then estimate the percentage of the given value for height in relation to
     
               //the original height value of the image
     
               //Use this percentage to calculate the new width value for the image
     
               //in relation to original width value of the image
     
     
               $l_percentage_height =$height_needed/($height/100);
     
               $l_new_width=($width/100)*$l_percentage_height;
     
               $l_new_height=$height_needed;
     
     
               if ($l_new_width $width_needed)
     
               {
     
                  //After calculation the new width value can stil be greater then the needed width value
     
                  //do the same calculation as above but then for the width needed
     
     
                  $l_percentage_width =$width_needed/($width/100);
     
                  $l_new_height=($height/100)*$l_percentage_width;
     
                  $l_new_width=$width_needed;
     
               }
     
            }
     
            else
     
            {
     
               //The height value of the image is not greater then the needed height value
     
               //but original width value of the image is
     
               //calculate the new values for width and height
     
     
               $l_percentage_width =$width_needed/($width/100);
     
               $l_new_height=($height/100)*$l_percentage_width;
     
               $l_new_width=$width_needed;
     
     
               if ($l_new_height $height_needed)
     
               {
     
                  $l_percentage_height =$height_needed/($height/100);
     
                  $l_new_width=($width/100)*$l_percentage_height;
     
                  $l_new_height=$height_needed;
     
               }
     
            }
     
     
     
         }
     
      $calculated_width_height[] = round($l_new_width);
     
      $calculated_width_height[] = round($l_new_height);
     
      return $calculated_width_height;
     
      }
     
     
     
      function resize($filename$dest$width$height$type=''){
     
          if(@imagecreatefromgif($filename)){
     
              $img=imagecreatefromgif($filename);
     
              $type_r='gif';
     
          }
     
          elseif(@imagecreatefromjpeg($filename)){
     
              $img=imagecreatefromjpeg($filename);
     
              $type_r='jpg';
     
          }
     
          elseif(@imagecreatefrompng($filename)){
     
              $img=imagecreatefrompng($filename);
     
              $type_r='png';
     
          }
     
          elseif(@imagecreatefromwbmp($filename)){
     
              $img=imagecreatefromwbmp($filename);
     
              $type_r='bmp';
     
          }
     
          else{
     
              return 'Cannot open file';
     
          }
     
          $type=($type=='')?$type_r:'';
     
          $img_n= @ imagecreatetruecolor ($width$height);
     
          imagecopyresampled($img_n$img0000$width$heightimagesx($img), imagesy($img));
     
          if($type=='gif'){
     
              imagegif($img_n$dest);
     
          }
     
          elseif($type=='jpg'){
     
             imagejpeg($img_n$dest);
     
          }
     
          elseif($type=='png'){
     
             imagepng($img_n$dest);
     
          }
     
          elseif($type=='bmp'){
     
             imagewbmp($img_n$dest);
     
          }
     
          Return true;
     
      }
     
     
     
     
      function upload_file($root_dir,$file_name,$file_name_tmp,$lc_width,$lc_height)
     
      {
     
     
         $lc_max_filesize=2001000;
     
         $filesize=filesize($file_name_tmp);
     
         $sub_server=substr($_SERVER["HTTP_REFERER"],7,9);
     
         $uploaddir "/get_on_top/image_resize/uploads";
     
     
         if (
     
            !file_exists($HTTP_SERVER_VARS["DOCUMENT_ROOT"].$uploaddir) ||
     
            2 != (fileperms($HTTP_SERVER_VARS["DOCUMENT_ROOT"].$uploaddir) & 2) ||
     
            1 != (fileperms($HTTP_SERVER_VARS["DOCUMENT_ROOT"].$uploaddir) & 1)
     
            )
     
         {
     
            $error="tets";
     
         }
     
     
         $fileext substr($file_name, -4);
     
     
         if (strtolower($fileext) != ".jpg" and strtolower($fileext) != ".gif")
     
         {
     
            print "<b>For security reasons only the uploading of .jpg and .gif files is allowed.</b><br>\n";
     
            print "<a href=\"javascript:history.back();\">Click here to go back.</a><br>";
     
            exit;
     
         };
     
     
         $loc $uploaddir."/".$file_name;
     
         $fullloc $root_dir.$loc;
     
         $upfile $file_name_tmp;
     
     
         if ($filesize>$lc_max_filesize)
     
         {
     
            $lc_message"File is too big, may not be bigger then 2MB";
     
         }
     
         else
          
    {
     
            if(move_uploaded_file($upfile$fullloc))
     
            {
     
               chmod($fullloc0644);
     
            }
     
            else
     
            {
     
               die("Error moving \"$upfile\" to \"$fullloc\".");
     
            }
     
     
            $test =filesize($fullloc);
     
         }
     
     
     
         list($original_width$original_height$type$attr) = getimagesize($fullloc);
     
         list($l_new_width,$l_new_heigth) = calculate_width_height($original_width$original_height,$lc_width,$lc_height);
     
     
         resize($fullloc$root_dir.$uploaddir."/".$lc_width."_".$lc_height."_".$file_name$l_new_width$l_new_heigth);
     
     
      $upload_info[] = $lc_message;
     
      $upload_info[] = $original_width;
     
      $upload_info[] = $original_height;
     
      $upload_info[] = $l_new_width;
     
      $upload_info[] = $l_new_heigth;
     
     
      return $upload_info;
     
     
      }
     
     
     
    ?>
    <body>
    <?php
       $root_dir 
    =$HTTP_SERVER_VARS["DOCUMENT_ROOT"];
     
     
      if ($_POST["resize_submit"] == "resize")
     
      {
     
     
         $lc_height           =$_POST["height"];
     
         $lc_width            =$_POST["width"];
     
     
         $day getdate();
     
         $minutes $day['minutes'];
     
         $temp=gettimeofday();
     
         $sec=(int)$temp["sec"];
     
     
         if (!empty($_FILES["userfile"]["name"]))
     
         {
     
            $fileext substr($_FILES["userfile"]["name"], -4);
     
     
            $ffile_name="1_".$minutes."_".$sec.$fileext;
     
     
            $tfile_name_tmp=$_FILES["userfile"]["tmp_name"];
     
     
            list($lc_upload_message,$original_width,$original_height,$l_new_width,$l_new_height) = upload_file($root_dir,$ffile_name,$tfile_name_tmp,$lc_width,$lc_height);
     
     
            if ($lc_upload_message!="")
     
            {
     
               echo "error_message".$lc_upload_message;
     
            }
     
         }
     
     
         ?>
          <form ENCTYPE="multipart/form-data"  action="resize_image.php" method="post">
          <table>
          <tr><td>height              :</td><td><input type="TEXT" name="height" size="10" value="<?php echo $lc_height ?>"></td></tr>
          <tr><td>width               :</td><td><input type="TEXT" name="width"  size="10" value="<?php echo $lc_width  ?>"></td></tr>
          <tr><td>image to upload     :</td><td><INPUT NAME="userfile" TYPE="file"></td></tr>
          <tr><td><input type="submit" name="resize_submit" value="resize"></td>
          </form>
          </table>
     
          <table>
          <tr>
          <td><IMG border=0 src="uploads/<?php echo $ffile_name ?>" ></td>
          <td  valign=bottom><IMG border=0 src="uploads/<?php echo $lc_width.'_'.$lc_height.'_'.$ffile_name ?>" ></td>
          </tr>
          <tr>
          <td><?php echo "org_height:".$original_height." org_width:".$original_width?></td>
          <td><?php echo "new_height_".$l_new_height." new_width_".$l_new_width?></td>
          </tr>
          </table>
     
          <?php
     
     
       
    }
     
      else
     
      {
     
     
         ?>
          <form ENCTYPE="multipart/form-data"  action="resize_image.php" method="post">
          <table>
          <tr><td>height              :</td><td><input type="TEXT" name="height" size="10" ></td></tr>
          <tr><td>width               :</td><td><input type="TEXT" name="width"  size="10" ></td></tr>
          <tr><td>image to upload     :</td><td><INPUT NAME="userfile" TYPE="file"></td></tr>
          <tr><td><input type="submit" name="resize_submit" value="resize"></td>
          </form>
          </table>
          <?php
       
    }
    ?>
    </body>
    </html>
    <?php
    ob_end_flush
    ();
    ?>

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
    Note آموزش MVC به زبان ساده (تصویری) Daniel 1 1,071 16-08-2016 ساعت 09:24
    آخرین ارسال: aaiz
    Note کپی کردن بخشی از تصویر در php PHP.sec 0 375 07-04-2014 ساعت 15:56
    آخرین ارسال: PHP.sec
    Note چرخش تصویر در php PHP.sec 0 355 07-04-2014 ساعت 15:55
    آخرین ارسال: PHP.sec

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان