从二进制数据图像中获取图像类型并将其转换为 PHP 中的实际图像
Get image type from binary data image & convert it to actual image in PHP
坦率地说,我不确定这是否是另一个问题的重复,因为上下文应该不同。
我目前正在处理一些 API returns 状态和内容(二进制数据图像),我将首先对其进行 base64 编码。问题是如何最初以二进制数据形式获取图像类型,然后将其转换为具有类型扩展名的实际图像。在这种情况下,我使用 PHP 因为它涉及后端任务。
谢谢
更新:
对于这种情况,我从外部站点 api 获取二进制形式的图像。我使用 file_get_contents 但它 returns 为空或空。当我使用 base64_encode 时,它会将图像显示为编码数据。问题是我需要将其转换为普通图像。我尝试将 getimagesize 编码和解码并尝试打印输出,它 returns 为空。
我还缺少任何步骤吗?
关于您的 2 个问题:
how to convert it back to normal image.
如果图片只是简单的base64编码,那么当然用base64_decode解码得到原始图片数据
$original_image = base64_decode($encoded_base64_string);
I guess no since what I need is its original image type
不要被它的名字搞糊涂了,getimagesize还告诉你图片类型和mime类型。
坦率地说,我不确定这是否是另一个问题的重复,因为上下文应该不同。
我目前正在处理一些 API returns 状态和内容(二进制数据图像),我将首先对其进行 base64 编码。问题是如何最初以二进制数据形式获取图像类型,然后将其转换为具有类型扩展名的实际图像。在这种情况下,我使用 PHP 因为它涉及后端任务。 谢谢
更新: 对于这种情况,我从外部站点 api 获取二进制形式的图像。我使用 file_get_contents 但它 returns 为空或空。当我使用 base64_encode 时,它会将图像显示为编码数据。问题是我需要将其转换为普通图像。我尝试将 getimagesize 编码和解码并尝试打印输出,它 returns 为空。 我还缺少任何步骤吗?
关于您的 2 个问题:
how to convert it back to normal image.
如果图片只是简单的base64编码,那么当然用base64_decode解码得到原始图片数据
$original_image = base64_decode($encoded_base64_string);
I guess no since what I need is its original image type
不要被它的名字搞糊涂了,getimagesize还告诉你图片类型和mime类型。