|
Тема |
Re: Help....Показване на картинка от MySQL... [re: HackerMy] |
|
Автор |
croesus (хлевоуст) |
|
Публикувано | 11.11.10 01:33 |
|
|
Първо, провери дали полето U_Picture в базата е blob.
Второ, предупреждението при header() виж дали не идва, защото се опитваш да изпишеш нещо преди това, което ще пусне header. не можеш да имаш примерно <html><head>....<body>.... и чак след това header() да пише нещо.
Мисля си обаче, че твоя проблем е друг. Опитваш се да заредиш бинарен код и да го сложиш в таг <img>, което е невъвъзможно. Или трябва да "изплюеш" бинарния код директно в браузъра, като укажеш с header() как да го разбира (картинка, pdf, Екселски файл или друго) или да го кешнеш в локален файл, като му запомниш пътя, който след това да сложиш ПЪТЯ в <img src="..." />
В първия случай браузъра ще зареди само картинка и нищо друго. Това, което ще пуснеш след header() изобщо няма да е html документ, а бинарния код на jpeg, който браузъра, понеже има плъгин за изобразяване на картинки, ще покаже. Ако няма плъгин за рендване на jpg файлове ще те пита дали искаш да запазиш файла на компютъра или ще ти изпише маймунски символи.
Ето това е пример за резултата, който ще получиш - само снимка и нищо друго.
Ако искаш да я заредиш като част от съдържанието на уеб страница тогава първо с file_put_content() или подобна функция кешни информацията от базата в локален файл и му запомни пътя (по-добре като URL, не като абослютен път на сървъра ти - /home/hackera/kartinki/1.jpg ). След това, както ти писах по-горе в <img> задай src да е този път.
Можеш и по някой изгъзен начин да направиш горното. Например да сложиш iframe, а то да показва документ, който е само и единствено картинката от базата (зададена с header()). Така ще си спестиш главоболия с това как да управляваш кеша на картинките, защото например след 1000 зареждания на 3-4 картинки може да имаш кеш от 200-300 мегабайта, ако имената им са неповтарящи се.
|
| |
|
|
|