[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод изображения из базы данных
mark2008
Здравствуйте,

Нужна помощь с выводом изображения из БД. Проблема в том, что это изображение не единственно на страничке, а кроме него присутствуют другие элементы - форма, текст и т.д.

Итак, что я делаю:

Код
         $tmp = "image_temp.jpg";
                   $fp = fopen($tmp, "w");
                   fwrite($fp, $photo_r);
                   fclose($fp);

                   $image = imagecreatefromjpeg($tmp);
                   unlink($tmp);

                   $srcWidth  = imagesx($image);
                   $srcHeight = imagesy($image);
                   $dstWidth  = imagesx($image);
                   $dstHeight = imagesy($image);

//                   header("Content-type: image/jpeg");
                   $dst = imagecreatetruecolor($dstWidth, $dstHeight);
                   imagecopyresized($dst, $image, 0, 0, 0, 0, $dstWidth, $dstHeight, $srcWidth, $srcHeight);

                   imagejpeg($dst);
                   imagedestroy($image);
                   imagedestroy($dst);


Если строчку
Код
//                   header("Content-type: image/jpeg");

раскомментировать, то на выводе получим копию URL-адреса. Если её оставить закомментированной, то на выводе получим что-то подобное:
Код
яШяапїЅJFIFпїЅпїЅпїЅпїЅпїЅпїЅяюпїЅ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality яЫпїЅCпїЅ       $.' ",#(7),01444'9=82<.342яЫпїЅC    2!!22222222222222222222222222222222222222222222222222яАпїЅпїЅ•пїЅъ"пїЅяДпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ яДпїЅµпїЅпїЅпїЅ}пїЅ!1AQa"q2Ѓ‘Ў#B±БRСр$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzѓ„…†‡?‰Љ’“”•–—пїЅ™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪбвгдежзийкстуфхцчшщъяДпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ яДпїЅµпїЅпїЅwпїЅ!1AQaq"2ЃB‘Ў±Б #3RрbrС $4б%с&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡?‰Љ’“”•–—пїЅ™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪвгдежзийктуфхцчшщъяЪпїЅ пїЅпїЅ?пїЅчъ(ўЂ (ўЂ (ўЂ (ўЂ CJi№х пїЅњsY—ъґvА¤X’QФg…ъХ-[X`нklШeяпїЅY нм=эыV™Gђ+Љ¶)GЭ‰иa°n~фцвжk™ “H]Ѕъ нDS ч>х а”ХlЧљжщ®П]A(Щ!Тd1¤A#ёпїЅр}йe ЂВпїЅ§T=Л[юН"ЌН8ЌёяпїЅ–БЅсCрЃњъХrпїЅ&µm-‘’MоЛJІДЉjLЬЎКr>µMa‘юбУ4р·О}йуЩ]¦ШФ‹Qјѓ¦Ej[kКД,йѓк+џ[ВАdѓR,сзb¶…w™НS п±Љж)Ч1ёj”W#MБў‘‘»нZЦљЈЎто†Gi1]Фл©nyХp®:ЗShQQЈ†PT‚ Ћфъи9ўЉ(пїЅўЉ(пїЅўЉ(пїЅўЉ(пїЅўЉ3@Тi’M+єGU_Rhё-I2(НfI­Z©ВяпїЅAЕ@u¦?v!ЏЖіu`є›*CdљЙЦu/ІGеFЯѕqФє=j#¬LpХ‰¬«пїЅZкбе•Иg<аЋ=« хџ%©оoC пЮ¦ЖkЂ пЦЄ|б‹6зу­VУXС»6{b©\YО©џ/?JсЄСћнЭ:ђЩ1Ќ&TфлM/ЏҐWу M‰ЊЋ„b‘жU8юъV.}ОЋBй`сqЦЎО*њ«Њ1R;ЌАЏвПJ~СI\\Ќ ђЎ=ё¤“†5M$!іњU–13ћ{ЦЄ|С±›…ќЙaпїЅ¤™ЇЛ:49(ШЦ:1Пµ[f&A=kZu™•JiґЗіHq‚†њЦd®bђcНSО\Љ—ч‘њ¦Xz­(Й=РЬZЩЋЫ4Gж_ДU?oЉ¬2=к$»b0ШoЇZђKџќ1х­#e¬YWш‘Їc~# Fr™ж3э+vRhГЎКљдЮжvџBx«ЦWІЪИAЗC“Б®к5ЪТG›?Г)k Ољ–ўЉT•ЎИ5 ®доy­XZ(ўЂ (ўЂ (ўЂљ


Как поступить?



Спустя 22 часа, 37 минут, 15 секунд (6.02.2008 - 14:27) mechanic написал(а):
ничччо не понятно...
что вокруг приведенного примера кода? это часть страницы или какая то функция?
строка 3 - что такое photo_r?
перед imagejpeg() конечно должно использоваться header();
но вы ведь не пытаетесь вывести картинку вместе с HTML? smile.gif

обычно делают так <img src="/some_image_handler.php?image=1">
а в some_image_handler.php получают $_GET['image'] и выбирают из базы картинку по этому ID
т.е. приведенный вами код - почти полноценный some_image_handler.php

Спустя 16 минут, 12 секунд (6.02.2008 - 14:43) Timok написал(а):
mark2008, когда ты посылаешь заголовок "Content-Type: image/jpeg" ты сообщаешь браузеру, что это картинка. Любая веб-страница же отправляется с заголовком Content-Type: text/html. Одновременно послать и то и другое ты не можешь.

Тебе нужно делать примерно так:
Код
imagejpeg($dst, [имя_файла_куда_ты_сохранишь_изображение]);

потом в html-коде:
Код
<img src="это_самое_имя_файла" />


только не забывай, что когда ты сохраняешь файл с изображением, ты работаешь с ФС сервера, а в html-коде у тебя url-адрес картинки.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.