【发布时间】:2021-12-30 16:54:59
【问题描述】:
所以,我正在使用以下代码:
$currentIMG = imagecreatefromstring(base64_decode($img));
其中 $img 是一个 base64 字符串。当我回显 base64_decode($img) 时,它向我显示了一个字符串(应该如此),但是当我使用 imagecreatefromstring() 时,它显示以下错误:
致命错误:未捕获的错误:GdImage 类的对象不能被 转成字符串
我可以保证base64字符串没有损坏,因为它适用于在线base64到图像转换器,所以我不知道是什么问题。
提前致谢!
代码:
function base64toImage($img) {
$currentIMG = imagecreatefromstring(base64_decode($img));
echo $currentIMG;
}
【问题讨论】:
-
但是字符串里面是什么?它是通常在 png/jpeg 中的原始二进制字符串吗?
-
似乎ether
$img不包含字符串或错误不是来自这一行。贴出周围的代码。 -
i.imgur.com/LLxZAgM.png 这是base64解码
-
您确定错误中提到的行号是针对此
imagecreatefromstring行吗?因为听起来从字符串到 GD 对象 的转换很顺利,但是稍后您尝试将对象强制转换为字符串(这会导致错误) -
现在我认为我有一个配置问题,因为我创建了一个新的 php 文件,我使用具有参数的 imagefrompng() 函数运行该文件。来自我电脑的 PNG 图像,它显示相同的错误