我正在使用以下代码上传
//width,new_width,height,new_height are set
$tmp_filename = $_FILES['file']['tmp_name'];
$image_p = imagecreatetruecolor($new_width, $new_height); //resample image
if(($ext=='jpg') | ($ext=='jpeg')){
//if image to be uploaded is jpg
$image = imagecreatefromjpeg($tmp_filename);
}
else{
//if image to be uploaded is png
$image = imagecreatefrompng($tmp_filename);
}
//to convert to jpg
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
$done=imagejpeg($image_p, $output_dirrectory."/".$image_name.".jpg",95); //95% quality
现在,问题是,当我从使用数据URI生成的任何其他网站保存图像时,它将作为JPG图像保存在我的本地计算机上。当我尝试使用以下代码上传相同的图像时,它会创建黑色图像。
我无法弄清楚问题。我希望解决方案在于imagecreatefromstring,但我不知道如何使用以下代码?请建议任何解决方案?
答案 0 :(得分:0)
尝试添加:
$width = imageSX($image);
$height = imageSY($image);
在调用imagecopyresampled之前