0
我使用下面的代码上传数据URI保存JPG图像创建上传黑色图像用PHP imagecreatefromjpeg
//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,但我不知道如何解决以下代码?请提出任何解决方案?
我认为你需要发布更多的代码。如何提交数据以防止不起作用的情况?如果图像数据在表单发布中,那么您可能对imagecreatefromstring是正确的。但是,如果您将其作为文件上传,您可能会尝试将快捷方式上传到无法使用的图像。 – 2014-09-23 00:52:45
您似乎没有设置$ width或$ height。如果它们为零,它将只是放大到没有完整的空白方块。 – 2014-09-23 01:21:45
在顶部评论中提到,它们被设置...此代码与其他jpg和png文件一起使用。只是没有一些JPG文件。 – 2014-09-23 01:24:20