我已经用mime类型检查了文件.如果它是jpg或gif它与它完美配合
$src = imagecreatefromjpeg($tmpName);
和
$src = imagecreatefromgif($tmpName);
但如果图像是png
$src = imagecreatefrompng($tmpName);
在png情况下,src变量为空,但在jpg和gif中,它显示了它的资源ID.
有人会告诉我我需要做什么吗?
$finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo,$_FILES['photo']['tmp_name']); unset($_FILES["photo"]["type"]); $_FILES["photo"]["type"] = $mime; if ((($_FILES["photo"]["type"] == "image/gif") || ($_FILES["photo"]["type"] == "image/jpeg") || ($_FILES["photo"]["type"] == "image/jpg") || ($_FILES["photo"]["type"] == "image/pjpeg") || ($_FILES["photo"]["type"] == "image/x-png") || ($_FILES["photo"]["type"] == "image/png")) && in_array($extension,$allowedExts)) { if ($_FILES["photo"]["error"] > 0) { echo "Error uploading file <a href='step-1.PHP'> Try again. </a>"; $image_check = 0; exit; } else { $image_check = 1; $fileName = $_FILES['photo']['name']; $tmpName = $_FILES['photo']['tmp_name']; $fileSize = $_FILES['photo']['size']; $fileType = $_FILES['photo']['type']; list($width1,$height1,$typeb,$attr) = getimagesize($tmpName); //$filePath = $uploadDir . $fileName; $size = filesize($_FILES['photo']['tmp_name']); $ext = $_FILES["photo"]["type"]; if ($ext == 'image/jpeg' || $ext == 'image/jpg') { $src = imagecreatefromjpeg($tmpName); } else if ($ext == 'image/gif') { $src = imagecreatefromgif($tmpName); } else if(($ext=='image/png')||($ext=='image/x-png')) { $src = imagecreatefrompng($tmpName); } $newwidth1 = 624; $newheight1 = ($height1 * $newwidth1) / ($width1); $tmp = imagecreatetruecolor($newwidth1,$newheight1); imagecopyresampled($tmp,$src,$newwidth1,$newheight1,$width1,$height1); $filename = "resources/images/" . $append . $_FILES['photo']['name']; if ($ext == 'image/jpeg' || $ext == 'image/jpg') { imagejpeg($tmp,$filename,90); } else if ($ext == 'image/gif') { imagegif($tmp,90); } else if(($ext=='image/png')||($ext=='image/x-png')) { imagepng($tmp,90); }