从二进制数据图像获取图像类型并将其转换为PHP中的实际图像

时间:2019-01-14 02:34:57

标签: php image base64 binary-data binary-image

坦率地说,由于上下文不同,我不确定这是否是另一个问题的重复。

我目前正在使用一些API,该API返回状态和内容(二进制数据图像),首先将对其进行base64编码。问题是如何首先在二进制数据形式上获取图像类型,然后将其转换为具有类型扩展名的实际图像。在这种情况下,我使用PHP,因为它涉及后端任务。 谢谢。

更新: 对于这种情况,我从外部站点api以二进制形式获取图像。我使用file_get_contents,但它返回空或null。当我使用base64_encode时,它将把图像显示为编码数据。问题是我需要将其转换为普通图像。我尝试将getimagesize编码和解码,并尝试打印输出,并且返回空值。 我还缺少任何步骤吗?

1 个答案:

答案 0 :(得分:1)

关于您的2个问题:

  

如何将其转换回普通图像。

如果仅使用base64编码图像,那么当然用base64_decode对其进行解码,即可得到原始图像数据。

$original_image = base64_decode($encoded_base64_string);
  

我想没有,因为我需要的是原始图像类型

请不要混淆它的名称,getimagesize还会告诉您图像类型和哑剧类型。