如何移动压缩的图像文件PHP

时间:2014-06-29 13:39:47

标签: php image-compression

这是压缩图像文件的功能。

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);

但是移动到文件夹的图像仍然保持原始大小而不进行压缩。

我做错了吗??

1 个答案:

答案 0 :(得分:0)

我认为此处move_uplodaded_file()不合适,因为您更改了上传的文件内容:

  

此函数检查以确保filename指定的文件是   一个有效的上传文件(意思是它是通过PHP的HTTP POST上传的   上传机制)。如果文件有效,它将被移动到   目的地给出的文件名。

改为使用rename()

如果您可以直接编辑上传的文件,我也不是100%..