我有一个base64编码的png,如何将图像写入PHP中的文件?

2022-08-30 12:11:29

当我使用base64编码时,在PHP中创建图像文件(PNG)的正确方法是什么?

我一直在玩:


file_put_contents('/tmp/'. $_REQUEST['id'].'.png', $_REQUEST['data']);

我需要解码吗?我应该使用gd库吗?


答案 1

您需要使用 base64_decode()。和。有时这还不够。以下是您需要的所有代码:

$img = $_POST['data'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$fileData = base64_decode($img);
//saving
$fileName = 'photo.png';
file_put_contents($fileName, $fileData);

附言:我使用此代码从html画布中获取PNG图像。


答案 2

我最好的猜测是,在将其写入文件之前,您只需要调用即可。这应该足够:)。base64_decode()$_REQUEST['data']


推荐