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
}
?>