在PHP

weixin_38087237 2019-09-12 03:06:52

调整大小上传图片我有在PHP图片上传的一个问题 我想和调整图像宽度= 600px的 前,当我上载与2000像素宽度的图像应该是上传上传与600px的 ,并在磁盘上的过程中尺寸较小的宽度...... php文件是: <?php require_once("db.php"); $name = trim($_POST['name']); $addr = trim($_POST['addr']); $dist = trim($_POST['dist']); $city = trim($_POST['city']); $phone = trim($_POST['phone']); $price = trim($_POST['price']); $lati = trim($_POST['lati']); $long = trim($_POST['long']); $tid = trim($_POST['type']); $img = ""; if($_FILES) { //var_dump($_FILES); $random_str = md5(uniqid(mt_rand(), true)); $f_name = "tmp/".$random_str.".jpg"; move_uploaded_file($_FILES['placeimg']['tmp_name'], $f_name); $img = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".$f_name; $uploadedfile = $_FILES['placeimg']['tmp_name']; $size=filesize($_FILES['placeimg']['tmp_name']); $uploadedfile =$_FILES['placeimg']['tmp_name']; $src = imagecreatefromjpeg($uploadedfile); list($width,$height)=getimagesize($_FILES['placeimg']['tmp_name']); $newwidth=600; $newheight=($height/$width)*$newwidth; $tmp=imagecreatetruecolor($newwidth,$newheight); //$filename = "tmp/". $_FILES['file']['name']; imagejpeg($tmp,$uploadedfile,75); imagedestroy($src); } $sql = "INSERT INTO `Place`(`PName`, `PAddr`, `PDistrict`, `PCity`, `PImage`, `PPhone`, `PPrice`, `PLat`, `PLong`, `TID`, `PStatus`) VALUES ('{$name}', '{$addr}', '{$dist}', '{$city}', '{$img}', '{$phone}', '{$price}', '{$lati}', '{$long}', '{$tid}', '0')"; $status = 0; $mess = "Err!"; if(mysql_query($sql)) { $status = 1; $mess = "Successful! Waiting approve"; } $json['status'] = $status; $json['message'] = $mess; echo json_encode($json); ?> 结果是一个很大的图像没有调整大小 你能帮忙吗?






...全文
20 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38088352 2019-09-12
  • 打赏
  • 举报
回复

试试这个: function upload_resize($file,$newwidth,$resolution,$location,$prefix){ define ("MAX_SIZE","2048"); error_reporting(0); $image =$file["name"]; $uploadedfile = $file['tmp_name']; if ($image) { $filename = stripslashes($file['name']); $extension = getExtension($filename); $extension = strtolower($extension); if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { //Unknown Image extension return 1; } else { $size=filesize($file['tmp_name']); if ($size > MAX_SIZE*1024){ //You have exceeded the size limit return 2; } if($extension=="jpg" || $extension=="jpeg") { $uploadedfile = $file['tmp_name']; $src = imagecreatefromjpeg($uploadedfile); } else if($extension=="png") { $uploadedfile = $file['tmp_name']; $src = imagecreatefrompng($uploadedfile); } else { $src = imagecreatefromgif($uploadedfile); } list($width,$height)=getimagesize($uploadedfile); $newheight=($height/$width)*$newwidth; $tmp=imagecreatetruecolor($newwidth,$newheight); imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height); $filename = $location.$prefix.$file['name']; imagejpeg($tmp,$filename,$resolution); imagedestroy($src); imagedestroy($tmp); } } return 0; } function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } // get file from user and send to this function: $res=upload_resize($_FILES["image"],600,100,'../images',''); switch ($res){ case 0 : echo 'images saved'; break; case 1 : echo 'Unknown file type'; break; case 2 : echo 'file size error'; break; } 我使用此功能上传和调整图像。
weixin_38092506 2019-09-12
  • 打赏
  • 举报
回复

// for outputting a jpeg image, Set the content type header - in this case image/jpeg header('Content-Type: image/jpeg'); // Output the image imagejpeg($tmp,$uploadedfile,75); 试试这个..
weixin_38092995 2019-09-12
  • 打赏
  • 举报
回复

创建(使用imagecreatetruecolor)新的特征码文件,但你没有使用原始图片。 尝试使用imagecopyresampled 这样的: <?php require_once("db.php"); $name = trim($_POST['name']); $addr = trim($_POST['addr']); $dist = trim($_POST['dist']); $city = trim($_POST['city']); $phone = trim($_POST['phone']); $price = trim($_POST['price']); $lati = trim($_POST['lati']); $long = trim($_POST['long']); $tid = trim($_POST['type']); $img = ""; if($_FILES) { //var_dump($_FILES); $random_str = md5(uniqid(mt_rand(), true)); $f_name = "tmp/".$random_str.".jpg"; move_uploaded_file($_FILES['placeimg']['tmp_name'], $f_name); $img = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".$f_name; $uploadedfile = $_FILES['placeimg']['tmp_name']; $size=filesize($_FILES['placeimg']['tmp_name']); $uploadedfile =$_FILES['placeimg']['tmp_name']; $src = imagecreatefromjpeg($uploadedfile); list($width,$height)=getimagesize($_FILES['placeimg']['tmp_name']); $newwidth=600; $newheight=($height/$width)*$newwidth; $tmp=imagecreatetruecolor($newwidth,$newheight); $buff = imagecreatefromjpeg($uploadedfile); imagecopyresampled($tmp, $b, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); //$filename = "tmp/". $_FILES['file']['name']; imagejpeg($tmp,$uploadedfile,75); imagedestroy($src); } $sql = "INSERT INTO `Place`(`PName`, `PAddr`, `PDistrict`, `PCity`, `PImage`, `PPhone`, `PPrice`, `PLat`, `PLong`, `TID`, `PStatus`) VALUES ('{$name}', '{$addr}', '{$dist}', '{$city}', '{$img}', '{$phone}', '{$price}', '{$lati}', '{$long}', '{$tid}', '0')"; $status = 0; $mess = "Err!"; if(mysql_query($sql)) { $status = 1; $mess = "Successful! Waiting approve"; } $json['status'] = $status; $json['message'] = $mess; echo json_encode($json); ?>

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧