让GD从二进制字符串中获取图像

Ste*_*uso 2 php gd imagemagick imagick

我有一个数据库,可以在MySQL BLOB字段中存储图像.我设置了一个脚本,根据URL中的ID选择并显示图像,如果你追加?resize = 800x600,我也会这样做,它会调整图像大小(在这种情况下,为800x600).

我使用的主机没有安装Imagemagick,也不会让我自己做,所以我需要使用PHP的GD库来调整​​图像大小.
但我还没有找到像Imagick readImageBlob()这样的函数,因此我无法编辑从数据库中获取的二进制字符串,而无需先创建临时文件,编辑它,从中获取二进制字符串,将其发送到浏览器,然后删除它(这是非常多的步骤,特别是因为这将在它投入生产时获得几千次点击).

所以我的问题是,有没有办法readImageBlob用PHP的GD 复制而不通过临时文件解决方案?

zom*_*bat 5

imagecreatefromstring()应该可以解决问题.我认为手册中的功能示例几乎正是您所需要的:

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'An error occurred.';
}
Run Code Online (Sandbox Code Playgroud)

$data数据库中的二进制数据字符串在哪里.