php – imagecreatefrompng根本不工作

前端之家收集整理的这篇文章主要介绍了php – imagecreatefrompng根本不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经用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);
        }
写一个文件
<?PHP
    PHPinfo();
?>

浏览它,您将看到启用了JPG支持和GIF创建支持,但禁用了PNG支持.

启用PNG支持,它将工作.

猜你在找的PHP相关文章