验证Base64编码图像

时间:2014-03-25 16:34:09

标签: php

在我的 cakephp 程序中,我将 base64编码图像转换为图像,然后将其存储在文件夹中。

如何在转换前验证此图片?

字符串就像data:image/png;base64,iVBORw0KG..... (图像可以是任何扩展名,而不仅仅是png。)

1 个答案:

答案 0 :(得分:0)

This answer可能对处理图片有用 This answer可能对验证图片有用。

代码:

$data = 'data:image/png;base64,iVBORw0KG.....';

list($type, $data) = explode(';base64,', $data, 2);
$data = str_replace(' ', '+', $data);
$data = base64_decode($data);

if (imagecreatefromstring($data) == false) { echo "invalid_image"; die(); }

file_put_contents('/storage/folder/image.png', $data);

您可能还想限制文件类型。

您必须记住,您不能简单地信任从客户端发送的任何数据(例如&data; image / png'),因此您必须依赖其他方式(某些 php 功能)。