Ответ 1
Мое лучшее предположение состоит в том, что вам просто нужно вызвать base64_decode()
на $_REQUEST['data']
перед тем, как записать его в файл. Этого должно быть достаточно:).
Какой правильный способ в 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);
P.S. Я использовал этот код, чтобы получить изображение PNG из html-холста.
Я бы подумал, что вы хотите декодировать с base64_decode(), если только вы не используете его, как они здесь, ЗДЕСЬ.
Я уверен, что вы захотите дезинфицировать $_REQUEST ['id'] перед его использованием.