我使用data-uri data:image/jpeg;base64,BASE64_HERE
来传递图像。我可以传递此值imagecreatefromjpeg()
以保存为图像文件。
这个功能如何运作?
答案 0 :(得分:2)
imagecreatefromjpeg()
函数从文件创建图像variable
,但不向后。在base64
中有图像源时,可以使用简单的file_put_contents()
函数来保存文件。例如:
$data = 'data:image/jpeg;base64,BASE64_HERE';
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('/tmp/image.jpg', $data);
您还可以使用imagecreatefromjpeg()
,然后使用imagejpeg()
方法,如果它更适合您。但最好的方法是使用imagecreatefromstring(),因为它会自动检测图像是jpg
,gif
,png
等等。例如:
$data = 'data:image/jpeg;base64,BASE64_HERE';
$image = imagecreatefromstring(base64_decode($data));
imagejpeg($image, 'image.jpg');