这是压缩图像文件的功能。
function compress_image($source_url, $destination_url, $quality) {
$info = getimagesize($source_url);
if ($info['mime'] == 'image/jpeg'){
$image = imagecreatefromjpeg($source_url);
}elseif ($info['mime'] == 'image/gif') {
$image = imagecreatefromgif($source_url);
}elseif ($info['mime'] == 'image/png') {
$image = imagecreatefrompng($source_url);
}imagejpeg($image, $destination_url, $quality);
return $destination_url;
}
$filename = compress_image($_FILES["home_image"]["tmp_name"], $_FILES["home_image"]["name"], 80);
$buffer = file_get_contents($_FILES["home_image"]["name"]);
以下是我想将压缩图像移动到特定文件夹的代码
move_uploaded_file($_FILES["home_image"]["tmp_name"][$i],"../../../Test/image/home_banner/" .$filename);
但是移动到文件夹的图像仍然保持原始大小而不进行压缩。
我做错了吗??
答案 0 :(得分:0)
我认为此处move_uplodaded_file()
不合适,因为您更改了上传的文件内容:
此函数检查以确保filename指定的文件是 一个有效的上传文件(意思是它是通过PHP的HTTP POST上传的 上传机制)。如果文件有效,它将被移动到 目的地给出的文件名。
改为使用rename()
。
如果您可以直接编辑上传的文件,我也不是100%..