У меня есть png, закодированный base64, как написать образ в файл на PHP?

Каков правильный способ в PHP создать файл изображения (PNG), когда у меня есть кодировка base64?

Я играл с:

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

мне нужно декодировать? Должен ли я использовать библиотеку gd?

Лучше всего предположить, что вам просто нужно вызвать base64_decode() на $_REQUEST['data'] перед тем, как записать его в файл. Этого должно быть достаточно много :).

Вам нужно использовать 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); 

PS Я использовал этот код, чтобы получить PNG-изображение из html-холста.

Я бы подумал, что вы хотите декодировать с base64_decode (), если только вы не используете его, как они здесь. ЗДЕСЬ .

Я уверен, что вы захотите дезинфицировать $ _REQUEST ['id'], прежде чем использовать его.