如何在PHP中从图像变量加载blob


How to load blob from image variable in PHP

我有一个应用程序,该应用程序当前通过将fopen($fileServerTempName, 'br')传递到PDO参数竞标中将图像加载到MySQL Blob中。这很管用。然而,我收到了一个新的要求,即在使用imagecreatefrompng功能最初创建图像对象的同时,编辑内存中的照片。现在我不知道如何从生成的图像对象中获得数据流,以将修改后的图像加载回MySQL。我如何从这样的东西中获得数据流:

$sourceImage = imagecreatefrompng($fileServerTempName);
// do some modifications to $sourceImage

是否与fopen将产生的格式相同?我尝试过将变量转换为二进制、编码和解码,但没有成功。如有任何帮助,我们将不胜感激。如果可能的话,我希望避免在磁盘上创建实际修改图像的临时副本。

谢谢。

ob_start ();
    imagesavealpha($sourceImage, true); // enable transparency
    imagepng ($sourceImage);
    $image_data = ob_get_contents (); 
ob_end_clean ();

现在,您可以将图像保存回MySQL。