要使用 PHP 将 Nihilogic 的“Canvas2Image”JavaScript 工具生成的 Base64 字符串转换为服务器上的实际 PNG 文件,你需要执行以下操作步骤:
提取base64图像数据。将数据URI标头与实际的base64数据分开。这是一个片段:
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data);
解码 Base64 数据。 将编码数据转换回二进制字符串。
$data = base64_decode($data);
将图像保存到文件。写入解码数据到服务器上的 PNG 文件。
file_put_contents('/tmp/image.png', $data);
替代的单行方法: 您还可以使用此单行命令来提取、解码,然后保存图像:
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
确保正确的错误处理: 实施机制来检测无效数据 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中文网其他相关文章!