Каков правильный способ в 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'], прежде чем использовать его.