使用PHP将PNG数据转换为JPG数据

使用PHP将PNG数据转换为JPG数据,php,gd,Php,Gd,我目前正在使用以下代码调用动态URL并获取缩略图所需的图像数据: $thumb_url = $thumbUrl."?key=".$key."&document=".$document."&width=148&height=148"; $crl = curl_init(); $timeout = 120; curl_setopt ($crl, CURLOPT_URL, $thumb_url); curl_setopt ($crl, CURLOPT_RETURNTRANSFE

我目前正在使用以下代码调用动态URL并获取缩略图所需的图像数据:

$thumb_url = $thumbUrl."?key=".$key."&document=".$document."&width=148&height=148";
$crl = curl_init();
$timeout = 120;
curl_setopt ($crl, CURLOPT_URL, $thumb_url);
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
$thumb_content = curl_exec($crl);
@curl_close($crl);
一旦我有了thumb_内容中的数据,我就可以将其作为PNG写入文件系统。这是伟大的作品,因为是,但是,我需要一种方法来转换它,并保存为JPG代替

我在回顾这个问题,但它似乎是在转换时从文件系统读写的:


除非绝对必要,否则在准备编写最终的JPG之前,我不想向文件系统写入任何内容。我只想处理流数据。

您可以使用
file\u get\u contents

$img = imagecreatefromstring(file_get_contents($thumb_url));
if ($img !== false)
    imagejpeg($img, "/path/to/save/file.jpg");

imagejpeg(imagecreatefromstring($thumb_content),'foo.jpg')是否可以设置$thumb\u img=imagejpeg($img)并以稍微不同的方式写入物理文件?您可以使用类似以下内容将其存储在var中:ob\u start();图像jpeg($img)$img2=ob_get_contents();ob_end_clean();