@RozmarinUS
YII2, PHP, React, TypeScript, Python hater

Как вывести изображение из base64?

Как можно собрать кодированое изображение base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTExLTE1VDE4OjUxOjUwKzAzOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMS0xNVQxODo1MzoxNyswMzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMS0xNVQxODo1MzoxNyswMzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowZTJmOGI2My0yY2M3LTdiNDgtODMzYy0yMWM2Mzc2MDI2ZDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MGUyZjhiNjMtMmNjNy03YjQ4LTgzM2MtMjFjNjM3NjAyNmQ4IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MGUyZjhiNjMtMmNjNy03YjQ4LTgzM2MtMjFjNjM3NjAyNmQ4Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowZTJmOGI2My0yY2M3LTdiNDgtODMzYy0yMWM2Mzc2MDI2ZDgiIHN0RXZ0OndoZW49IjIwMTktMTEtMTVUMTg6NTE6NTArMDM6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7ASTEgAAADK0lEQVQ4jXWTW2ibdRjGf/9/k35N831J02aNbU3apFlsbLMeBtKuMNBNEIpzgjIGOkUHwqiIJzaFIYOhTJkI20BBFPFCL8QbxXno1Q7OMRWb6UA31mbk0LVJS/M1hy+nvxdW0VLfy4eHH+/L+zyCTUbamptaDO9Ei+ENIaQom0tzlpm9XK9a1kav2Ch4/EPPu3yhQzZND6Ma6y5JzSrMm0tz7y4n4ic2BwhJT2z3RcMb2GEV82QWMpRX1wCFZuh0d3ehOd0UltO/JOPfjqt6zfoPoHto1yV3Z+/40kKS7NIKB/ZNsXNiDCkl31+J8/7Hn9Pe0YavO0A+l4qn498NK9VAAri7Is8ZncHx/PJt1swCZz95h8PTB0inF0nMJ5l+6hFmPjtDrVJlJZtB7/Bva+uJHltfXRAYm8qFJ/crPCPqyPHTava364r2MYUeUxgxhXtY/fDTr+r42x8o2oZV/459qnf7HkvIpmapOT2jdoervVIp4Wxzcc/IIHueeAmkIBy7i2A0jNvn5bHp1+jv68Hj20KlUsbuMJo1vX1S2h2uqJBNpBIpjr5wkIGtfdQqNQYG+rmVzKCEYDW/xo1LlxkZjPD6K4dIJVIgBHbNOSAFSIGgXigSDvqh0eC9t45w7dynjA1FWMvleObxh7n3oSk0rZm7I300CqW/z5dNQspWozN0UNNbiF+7zhdfn6NSb/DAfRPYbTZq1RofnT6GAp49fILzP16lKiWa1sJq+vdTAmjyj03lHXpba3bxNmahhO5sxdfhoVavU65WSSbSPLr3fkYHI7x69CSR0RhWqcitn790SqCez/zxprA5MJyt9NyxBd3pILWwCEDozi6e3P8gZ954mcXcCna9FWF3kl+4cUo16sV/BWn3Td3rD1pmDoSgWCwRCfWyfXiAraEAX81c4OzMBaLbRjCzqUxy9psgKOsfgJDS0z2466LuDUSrJRNUjUKxRH6tQKlQRHd7CPT2YWaT86mrM5ONejW9WZmkxx876eoMPm1zGIYQ8i9VNaiWCyVzae7D5cTsi0D5f9u4/h1Xi8u706Y5w4CoWcWbZTN7XjXqyxu9fwLT7T4N+2iLSgAAAABJRU5ErkJggg==
, что бы потом можно было загрузить его через <img src="/api/get-icon.php?id=...">?
  • Вопрос задан
  • 1805 просмотров
Решения вопроса 2
DevMan
@DevMan
<img src="data:image/png;base64,iVBORw0KGg....."/>
https://jsfiddle.net/3s6cemjx/
Ответ написан
Комментировать
flapflapjack
@flapflapjack
на треть я прав
Если коротко, и без проверок, и чтобы /api/get-icon.php?id=... то так:

Грубо, в начале скрипта:
<?php
$icons=array(
'icon1' => 'iVBORw0KGgoAAAANSU==....',
'icon2' =>'kakffdjgjfhgkjhasjkghfs==...');
if(isset($_GET['icon']))
{
header ('Content-Type: image/png');
switch($_GET['icon'])
{
case "icon1":
print base64_decode($icons['icon1']);
die();
case "icon2":
print base64_decode($icons['icon2']);
die();
}
}


///ну а тут уже любой другой код


Можно не swicth-case, а нормально, типа
<?php
if (array_key_exists('$_GET['icon'], $icons)) {

}?>


или с БД доставать.

А зачем вообще иконки в скрипте хранить то?
Я вижу в этом смысл, если только у вас всё приложение целиком состоит из одного скрипта.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы