Здравствуйте. Установил себе на сайт графический редактор, и когда вставляю изображение и сохраняю, все данные кодируются в base64 и отправляются в БД. Проблема в том, чтобы вывести потом изображения. Текст выводит, а изображения не все. Заметил, что не выводит только большие изображения. В чем может быть проблема?
Вот код вывода:
strip_tags(html_entity_decode($text, ENT_QUOTES, 'UTF-8'), '<img><a><b><i><u><ul><li><ol><span><div><br><p>')
Переменная $text содержит текст и изображения
Возможно стоит какой то лимит данных которые передаются? Вывожу я все это дело с помощью Ajax.
Данные необходимо передавать в формате form-data.И хранить на сервере не в БД.
Возможно стоит какой то лимит данных которые передаются?
Именно так. "изображения в base64" не что иное как data: URL. А URL имеет ограниченную длину и зависит от юзерагента и хопов
Кроме того подобное кодирование увеличивает объём данных. В бинарном виде картинка весит гораздо меньше. Поэтому просто нет смысла (и даже вредно) кодировать большие данные.
Заметил, что не выводит только большие изображения. В чем может быть проблема?
В больших изображениях больше вероятность, что strip_tags что-то испортит. Вероятно, если отдать такую картинку в strip_tags, то возвращённая строка будет отличаться от оригинальной.
PS: http://ithappens.me/story/421
Продвижение своими сайтами как стратегия роста и независимости