Php GD lib调整图像大小几次变黑
我遇到了一个用户上传图像的问题,100个用户中有1到2个上传的图像是完全黑色的 这是我用来调整图片大小的功能,有人能看到这里有什么问题吗Php GD lib调整图像大小几次变黑,php,file-upload,gd,image-resizing,Php,File Upload,Gd,Image Resizing,我遇到了一个用户上传图像的问题,100个用户中有1到2个上传的图像是完全黑色的 这是我用来调整图片大小的功能,有人能看到这里有什么问题吗 function resize_image($oldimage_name, $new_image_name){ list($owidth,$oheight) = getimagesize($oldimage_name); $width = 250; $height = 250; $im = imagecreatetruecolo
function resize_image($oldimage_name, $new_image_name){
list($owidth,$oheight) = getimagesize($oldimage_name);
$width = 250; $height = 250;
$im = imagecreatetruecolor($width, $height);
$img_src = imagecreatefromjpeg($oldimage_name);
imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);
imagejpeg($im, $new_image_name, 90);
imagedestroy($im);
unlink($oldimage_name);
return true;
}
我的错误处理代码
if($_FILES['file']['name'] == ''){
$error[] = 'Please attach your photo.';
}elseif($_FILES["file"]["size"] > 2097152){
$error[] = 'Selected image size is too large, upload under 2mb.';
}elseif(!in_array($_FILES["file"]["type"], array("image/jpg", "image/jpeg"))){
$error[] = 'We accept only JPG / JPEG image format.';
}
这是文件上传
if($_FILES['file']['name']!='')
{
$tmp_name = $_FILES["file"]["tmp_name"];
$namefile = $_FILES["file"]["name"];
$cname = str_replace(' ', '-', $candidate_name);
$ext = end(explode(".", $namefile));
$fileUpload = move_uploaded_file($tmp_name,"uploads/images/".$image_name);
$image_name= $cname.'-'.time().".".$ext;
resize_image($tmp_name,"uploads/images/".$image_name);
$img = ''.$image_name.'';
}
这可能是什么原因造成的?我似乎无法理解。在100张图片中,只有1或2张图片是完全黑色的,我也不知道用户正在上传什么,因为当我尝试上传不同类型的图片时,它绝对不允许我上传任何png或gif文件
感谢您的时间和帮助