首页 > web前端 > js教程 > 如何使用 PHP 从 Base64 数据 URI 在服务器端保存 PNG 图像?

如何使用 PHP 从 Base64 数据 URI 在服务器端保存 PNG 图像?

Susan Sarandon
发布: 2024-12-09 16:43:17
原创
529 人浏览过

How to Save PNG Images Server-Side from Base64 Data URIs using PHP?

从 Base64 数据 URI 在服务器端保存 PNG 图像

要使用 PHP 将 Nihilogic 的“Canvas2Image”JavaScript 工具生成的 Base64 字符串转换为服务器上的实际 PNG 文件,你需要执行以下操作步骤:

  1. 提取base64图像数据。将数据URI标头与实际的base64数据分开。这是一个片段:

    $data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...';
    list($type, $data) = explode(';', $data);
    list(, $data) = explode(',', $data);
    登录后复制
  2. 解码 Base64 数据。 将编码数据转换回二进制字符串。

    $data = base64_decode($data);
    登录后复制
  3. 将图像保存到文件。写入解码数据到服务器上的 PNG 文件。

    file_put_contents('/tmp/image.png', $data);
    登录后复制
  4. 替代的单行方法: 您还可以使用此单行命令来提取、解码,然后保存图像:

    $data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
    登录后复制
  5. 确保正确的错误处理: 实施机制来检测无效数据 URI、失败的 Base64 解码或不正确的图像类型,例如:

    if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) {
        // Valid data URI
    } else {
        throw new \Exception('Invalid data URI');
    }
    
    if ($data === false) {
        throw new \Exception('Base64 decode failed');
    }
    登录后复制

以上是如何使用 PHP 从 Base64 数据 URI 在服务器端保存 PNG 图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板