Php 编辑和裁剪上传的图像

Php 编辑和裁剪上传的图像,php,image,resize,crop,uploader,Php,Image,Resize,Crop,Uploader,你能帮我编辑这个代码吗 function insert_lenses(){ // to get userid $reg=$_SESSION['myusername']; $result_users = mysql_query("SELECT * FROM users WHERE user_name='$reg'"); while($row_users = mysql_fetch_array($result_users)) { $uid=$row_users[

你能帮我编辑这个代码吗

function insert_lenses(){
    // to get userid
  $reg=$_SESSION['myusername'];
  $result_users = mysql_query("SELECT * FROM users WHERE user_name='$reg'");

  while($row_users = mysql_fetch_array($result_users))
    {
    $uid=$row_users[id];
    }

  $uploader = $_POST['uploader'];
  $path = 'photos/';
  $image=$_FILES['img_name'];
  $img_title=$_POST['title'];
  $img_tag=$_POST['tags'];
  $img_desc=$_POST['description'];
  $img_status=$_POST['status'];
  $lenses_id=$_POST['lenses'];
  $cam_id=$_POST['cams'];
  $date = date("d.m.Y");
  //------------------------------------------
  $image_size=$_FILES['img_name']['size'];
  $filename = stripslashes($_FILES['img_name']['name']);
  $extension = getExtension($filename);
  $extension = strtolower($extension);

  $image_name=time().'.'.$extension;
  $newname=$path.$image_name;
  $copied = copy($_FILES['img_name']['tmp_name'], $newname);


  if ($copied) {
    $sql=mysql_query("insert into images (uid, lid, imageurl, img_date, imagesize, imagedesc, imagetitle, imagetag, status,cam,lens,user_name,img_w,img_h)
VALUES('$uid','$lenses_id','$newname','$date','$image_size','$img_desc','$img_title','$img_tag','$$img_status','$cam_id','$lenses_id','$uploader','$w','$h')");



    return true;
  }else{
    echo "<center><h3>There are An Errors In Uploading!</h3></center>";
    return false;
  }
}


function getExtension($str) {
  $i = strrpos($str,".");
  if (!$i) { return ""; }
  $l = strlen($str) - $i;
  $ext = substr($str,$i+1,$l);
  return $ext;
}

$reg=$_SESSION['myusername'];
$result_users = mysql_query("SELECT * FROM users WHERE user_name='$reg'");

while($row_users = mysql_fetch_array($result_users))
  {
  $getid=$row_users[id];
  }

您可能需要为此尝试imagemagick:

exec( "convert $newname -resize 58x58^ -gravity center -extent 58x58 /img_croped/$filename");

这会将较短的一面调整为58,然后将较长的一面裁剪为58像素(切割边缘)

要调整尺寸并裁剪图像,请检查以下代码,这有助于裁剪图像:

<?php
   if( isset($_POST['submit']) ) {
      include('SimpleImage.php');
      $image = new SimpleImage();
      $image->load($_FILES['uploaded_image']['tmp_name']);
      $image->resizeToWidth(300);
      $image->resizeToHeight(200);
      $image->save('resizeImage.jpg');
      //$image->output();
   } else {
?>   <form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="uploaded_image" />
      <input type="submit" name="submit" value="Upload" />
   </form><?php
   }
?>


选中(死)以查找调整图像大小的类别和更多详细信息。

可能的图像类型是什么?除了明显的SQL注入漏洞之外,不要使用$\u文件数组中的
大小
名称
类型
值-它们是用户提供的,可以被颠覆。另外,不要使用
复制
。有一个专门处理文件上传的
move\u uploaded\u file
功能。谢谢回复,但代码不适用于我的功能我做了,但该功能不上传到img\u cropedfolder@rixlinux-我不确定你的
/img\u是否像你在问题中那样在根目录中,或者在其他地方。。。命令行的最后一个参数是保存此文件的位置。将它更改为所需的文件夹和文件名,它应该可以工作。如果没有-发布您遇到的错误。
<?php
   if( isset($_POST['submit']) ) {
      include('SimpleImage.php');
      $image = new SimpleImage();
      $image->load($_FILES['uploaded_image']['tmp_name']);
      $image->resizeToWidth(300);
      $image->resizeToHeight(200);
      $image->save('resizeImage.jpg');
      //$image->output();
   } else {
?>   <form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="uploaded_image" />
      <input type="submit" name="submit" value="Upload" />
   </form><?php
   }
?>