Не выводятся большие изображения в base64

Abmin

Здравствуйте. Установил себе на сайт графический редактор, и когда вставляю изображение и сохраняю, все данные кодируются в base64 и отправляются в БД. Проблема в том, чтобы вывести потом изображения. Текст выводит, а изображения не все. Заметил, что не выводит только большие изображения. В чем может быть проблема?

Вот код вывода:

strip_tags(html_entity_decode($text, ENT_QUOTES, 'UTF-8'), '<a><b><i><u><ul><li><ol><span><div><p>')
</p></div></span></ol></li></ul></u></i></b></a>

Переменная $text содержит текст и изображения

Возможно стоит какой то лимит данных которые передаются? Вывожу я все это дело с помощью Ajax.

3 ответа

Abmin

Данные необходимо передавать в формате form-data.И хранить на сервере не в БД.


Abmin

Возможно стоит какой то лимит данных которые передаются?

Именно так. "изображения в base64" не что иное как data: URL. А URL имеет ограниченную длину и зависит от юзерагента и хопов

Кроме того подобное кодирование увеличивает объём данных. В бинарном виде картинка весит гораздо меньше. Поэтому просто нет смысла (и даже вредно) кодировать большие данные.


Abmin

Заметил, что не выводит только большие изображения. В чем может быть проблема?

В больших изображениях больше вероятность, что strip_tags что-то испортит. Вероятно, если отдать такую картинку в strip_tags, то возвращённая строка будет отличаться от оригинальной.

PS: http://ithappens.me/story/421

licensed under cc by-sa 3.0 with attribution.