Php Imagejpeg函数不更改文件扩展名

Php Imagejpeg函数不更改文件扩展名,php,image,Php,Image,我正在创建一个图像转换函数。文件扩展名未更改,例如oldfile.pngoutnewfile.png。但是它应该在文件转换后更改扩展名,例如newfile.jpg对吗 function convertimg($target, $new, $ext, $converto) { if ($ext['mime'] == 'image/jpeg') { $img = imagecreatefromjpeg($target); } elseif ($ext['mime']

我正在创建一个图像转换函数。文件扩展名未更改,例如
oldfile.png
out
newfile.png
。但是它应该在文件转换后更改扩展名,例如
newfile.jpg
对吗

function convertimg($target, $new, $ext, $converto) {
    if ($ext['mime'] == 'image/jpeg') {
        $img = imagecreatefromjpeg($target);
    } elseif ($ext['mime'] == 'image/png') {
        $img = imagecreatefrompng($target);
    } elseif ($ext['mime'] == 'image/gif') {
        $img = imagecreatefromgif($target);
    }
    $ictc = imagecreatetruecolor($ext[0], $ext[1]);
    imagecopyresampled($ictc, $img, 0, 0, 0, 0, $ext[0], $ext[1], $ext[0], $ext[1]);
    ob_start();
    header("Content-type: " . $converto);
    if ($converto == 'image/jpeg') {
        imagejpeg($ictc, $new, 84);
    } elseif ($converto == 'image/png') {
        imagepng($ictc, $new, 84);
    } elseif ($converto == 'image/gif') {
        imagegif($ictc, $new, 84);
    }
    ob_get_clean();
    imagedestroy($ictc);
}

不,不应该,因为您提供了新的文件名,它可以是任何东西


因此,如果要转换,还必须提供一个新的扩展。唯一要做的就是将原始图像保存为jpeg格式。

ohh,因此每当我转换图像时,我都必须指定扩展名,例如
.jpg
.png
?thnx,我这样做了,工作正常,但问题是如果我再次使用
getimagesize()
检查,它仍然显示png文件而不是jpg。为什么?@user3315433你到底检查了什么?也许你查错文件了?嘿,好的。是的,我查错文件了。我不这么认为。