如何重新调整高质量图像使用此代码?
............................................... .................................................. .................................................. ..................
<?PHP
if(isset($_POST["Submit"]))
{
$image_type_check = $_FILES['file']['type']; //file type
$image_name = $_FILES['file']['name']; //file name
$image_size = $_FILES['file']['size']; //file size
$image_temp = $_FILES['file']['tmp_name']; //file temp
$image_size_info = getimagesize($image_temp); //get image size
//Get file extension and name to construct new file name
$image_info = pathinfo($image_name);
$image_extension = strtolower($image_info["extension"]); //image extension
$image_name_only = strtolower($image_info["filename"]);//file name only, no extension
//create a random name for new image (Eg: fileName_293749.jpg);
$new_file_name = '123456789'.$image_extension;
list($width,$height)=getimagesize($image_temp);
$newwidth=985;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
$filename = "uploads/".$new_file_name;
imagejpeg($tmp,$filename,100);
}
?>
答案 0 :(得分:0)
您应该使用move_uploaded_file()
确保路径正常且文件有效。
要更改所需的尺寸imagecopyresampled()
。
您的文件名无效
$image_info = pathinfo($image_name);
$image_extension = strtolower($image_info["extension"]);
$new_file_name = '123456789'.$image_extension;
你得到了
$new_file_name == '123456789jpg'
没有.
[...]
$image_extension = "." . strtolower($image_info["extension"]);
$target = "uploads/123456789".$image_extension;
if(move_uploaded_file($image_temp,$target)) {
if ($image_extension == '.jpg') {
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($image_temp);
$ratio_orig = $width_orig/$height_orig;
$width = 985;
if ($width_orig > $height_orig) {
$height = $width / $ratio_orig;
} else {
$height = $width * $ratio_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($target);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p,$target,100);
imagedestroy($image_p);
} //is jpg file
} else { echo "File could not be moved to" .$target; }