PHP 基础教程:将 Base64 数据流文件转换为图片格式

在 PHP 中,将 Base64 数据流文件转换为图片格式是一个常见的需求,特别是在处理表单提交或者 API 返回的数据时。以下是一个简单的 PHP 脚本,用于将 Base64 编码的字符串转换为图片格式并保存到本地磁盘中。

// 获取 Base64 编码的图片数据

$base64_data = $_POST['base64_data'];

// 获取图片的原始类型(如 png, jpg 等)

$image_type = substr($base64_data, strpos($base64_data, ';') + 1);

// 获取图片的文件名

$image_name = time() . '.' . $image_type;

// 创建临时文件

$image_data = explode(',', $base64_data);

$image_data = base64_decode($image_data[1]);

file_put_contents($image_name, $image_data);

// 输出图片

header('Content-Type:' . $image_type);

readfile($image_name);

// 删除临时文件

unlink($image_name);

?>

在上面的代码中,我们首先获取了 Base64 编码的图片数据,然后提取出图片的原始类型,并给转换后的图片文件命名。接着,我们将 Base64 编码的字符串解码并保存到本地磁盘中。最后,我们输出图片并删除临时文件。

请注意,这个脚本假设你已经安装了 PHP,并且你的服务器配置允许执行 PHP 脚本。此外,确保你有权限在目标目录中创建和删除文件。

如果你想直接在网页上显示图片而不是下载到本地,你可以使用 `` 标签,并将 `src` 属性设置为 `data:image/png;base64,...` 格式,其中 `...` 是你 Base64 编码的图片数据。

html

更多文章请关注《万象专栏》