試したことがないので、本当にうまくいくかどうかはわかりませんが、ファイル拡張子を変更するのは得策ではないと思います。応答があった場合、ブラウザは画像を表示できませんでした。
私の意見では、アップロード後に gif/png 画像を jpeg 形式に変換し、最終的に元の画像を移動、名前変更、または削除して、変換された jpg 画像のみをアップロード フォルダーに残す必要があります。
たとえば、GD 拡張機能を有効にしている場合は、次のようにすることができます。
<?php
/**
* Convert gif or png image to jpg format
*
* @param string original image file name
* @param int output image quality (0..100)
* @return string output jpg file name
*/
function img2jpeg($filename, $quality = 100) {
if (file_exists($filename) && is_readable($filename)) {
$p = pathinfo($filename);
$ext = strtolower($p['extension']);
if ($ext == "jpg") {
return($filename);
} else if ($img = imagecreatefromstring(file_get_contents($filename))) {
$newname = $p['dirname'].'/'.$p['filename'].'.jpg';
if (imagejpeg($img, $newname, $quality)) {
imagedestroy($img);
return($newname);
} else {
imagedestroy($img);
die("Error creating ".$newname."\n");
}
}
}
die("Error loading ".$filename."\n");
}
?>