我有一个PHP图像方法来压缩和调整服务器上的图像大小,然后将它们插入到数据库中,但是所有肖像图像都变成了横向,而横向变成了肖像。造成这种情况的原因是什么?
该方法定义为:
private static function fit_image_file_to_width($file, $w, $mime = 'image/jpeg') {
list($width, $height) = getimagesize($file);
$newwidth = $w;
$newheight = $w * $height / $width;
switch ($mime) {
case 'image/jpeg':
$src = imagecreatefromjpeg($file);
break;
case 'image/png';
$src = imagecreatefrompng($file);
break;
case 'image/bmp';
$src = imagecreatefromwbmp($file);
break;
case 'image/gif';
$src = imagecreatefromgif($file);
break;
}
$dst = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
switch ($mime) {
case 'image/jpeg':
imagejpeg($dst, $file);
break;
case 'image/png';
imagealphablending($dst, false);
imagesavealpha($dst, true);
imagepng($dst, $file);
break;
case 'image/bmp';
imagewbmp($dst, $file);
break;
case 'image/gif';
imagegif($dst, $file);
break;
}
imagedestroy($dst);
}
我称之为:
self::fit_image_file_to_width($_FILES["file"]["tmp_name"], 1080, $_FILES["file"]["type"]);
$flag = move_uploaded_file($_FILES['file']['tmp_name'], $imageURL);
上传工作正常,只是图片方向错误。