I have a base64 encoded png, how do I write the image to a file in PHP? I have a base64 encoded png, how do I write the image to a file in PHP? php php

I have a base64 encoded png, how do I write the image to a file in PHP?


You need to use base64_decode(). AND. Sometimes it is not sufficient. Here is all code that you need:

$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. I used this code to get PNG image from html canvas.


My best guess is that you simply need to call base64_decode() on $_REQUEST['data'] before writing it to the file. That should be plenty enough :).


I would think you'd want to decode with base64_decode() unless you are only using it like they are here HERE.

The thing I am sure of is that you will want to sanitize $_REQUEST['id'] before using it.