当我使用base64编码时,PHP中创建图像文件(PNG)的正确方法是什么?我有一个base64编码的png,如何将图像写入PHP中的文件?
我一直在玩弄:
file_put_contents('/tmp/'. $_REQUEST['id'].'.png', $_REQUEST['data']);
我需要解码?我应该使用gd库吗?
当我使用base64编码时,PHP中创建图像文件(PNG)的正确方法是什么?我有一个base64编码的png,如何将图像写入PHP中的文件?
我一直在玩弄:
file_put_contents('/tmp/'. $_REQUEST['id'].'.png', $_REQUEST['data']);
我需要解码?我应该使用gd库吗?
我最好的猜测是你只需在$_REQUEST['data']
上写base64_decode()
就可以了,然后再写入文件。这应该足够:)。
我认为你会想要解码base64_decode(),除非你只使用它,就像他们在这里HERE。
我确定的事情是,在使用它之前,您需要清理$ _REQUEST ['id']。
挑衅将消毒,只是试图简单化... – mmattax 2009-10-07 17:28:22
您需要使用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);
P.S.我使用此代码从HTML画布获取PNG图像。
叹了口气,这很容易,应该问这个问题之前已经做到了!谢谢。 – mmattax 2009-10-07 17:27:22