Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод картинок из базы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
zypikov
Отправлено: 13 Ноября, 2010 - 17:05:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. mysql_connect("localhost", "root", "") or
  2.         die("Could not connect: " . mysql_error());
  3.     mysql_select_db("Image");
  4.  
  5.     $result = mysql_query("SELECT id, image FROM type ");
  6.  
  7.     echo ("<table border = 1>");
  8.  
  9.  
  10.  
  11.     while ($row = mysql_fetch_array($result)) {
  12.         echo("<tr><td>");
  13.         echo $row["id"];
  14.         echo ("</td>") ;
  15.         echo ("<td>");
  16.         header("Content-type: image/gif\n");
  17.         echo $row["image"];
  18.         echo ("</td>");
  19.     }
  20.     echo ("</tr></table>");


Нужно вывести из БД картинки, в ячейки таблицы. Знаю, что перед выводом картинок из базы нужно обязательно указыватьс содержание контента. Что в этом скрипте неправильно?


Отредактировано модератором: SAD, 13 Ноября, 2010 - 17:06:44
Обрамляйте код соответствующими тегами!


-----
У всего есть обратная сторона.
 
 Top
SAD Модератор
Отправлено: 13 Ноября, 2010 - 17:08:26
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




header("Content-type: image/gif");
должно стоять в самом начале скрипта, после открывающего тега <? или <?php
 
 Top
Мелкий Супермодератор
Отправлено: 13 Ноября, 2010 - 17:35:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




zypikov пишет:
Что в этом скрипте неправильно?

Почти всё.
В html документе должна быть <img> ссылка на картинку, а картинку должен отдавать сервер по другому соединению.


-----
PostgreSQL DBA
 
 Top
zypikov
Отправлено: 13 Ноября, 2010 - 23:17:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Мелкий пишет:
Почти всё.
В html документе должна быть <img> ссылка на картинку, а картинку должен отдавать сервер по другому соединению.

Где можно прочитать, как это правильно организовать. Знаю что сервер посылает отдельный запрос чтобы загрузить картинку, где-то читал не помню давно было.


-----
У всего есть обратная сторона.
 
 Top
Uchkuma
Отправлено: 13 Ноября, 2010 - 23:27:04
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




zypikov, подучите html для начала. Картинка выводится так
CODE (html):
скопировать код в буфер обмена
  1. <img src="тут_путь_к_изображению">

(Добавление)
Что у вас в бд находится? Бинарные данные изображения или путь к нему?
 
 Top
zypikov
Отправлено: 14 Ноября, 2010 - 11:11:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




В бд поля типа BLOB, т.е. бинарные данные


-----
У всего есть обратная сторона.
 
 Top
zypikov
Отправлено: 04 Декабря, 2010 - 23:28:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Епть.. киньте хоть ссылку на подобный скипт, модерация тоже мне Нахмурился


-----
У всего есть обратная сторона.
 
 Top
OrmaJever
Отправлено: 04 Декабря, 2010 - 23:45:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Там впринципе всё верно. Только 17строку нужно заменить с

на
PHP:
скопировать код в буфер обмена
  1. echo '<img src="'.$row["image"].'">';

Ну ето если в $row["image"] лежит сылка.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
zypikov
Отправлено: 08 Декабря, 2010 - 08:03:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Мелкий пишет:
а картинку должен отдавать сервер по другому соединению.

т.е.?


-----
У всего есть обратная сторона.
 
 Top
Мелкий Супермодератор
Отправлено: 08 Декабря, 2010 - 10:06:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




zypikov пишет:
т.е.?

на страницу выводится <img src="gd.php">
А gd.php уже высылает заголовок и бинарный код изображения. Но только их, без всяких текстов, html и пр.

PS: имена скриптов, само собой - любые. При некоторой сноровке, можно код запихать в один скрипт, но работать он должен всё равно дважды.


-----
PostgreSQL DBA
 
 Top
zypikov
Отправлено: 10 Декабря, 2010 - 17:29:23
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Мелкий пишет:
высылает заголовок

т.е. <имя_файла>.<расширение>?
Мелкий пишет:
Но только их, без всяких текстов, html и пр.

Ну это понятно Улыбка


-----
У всего есть обратная сторона.
 
 Top
Мелкий Супермодератор
Отправлено: 10 Декабря, 2010 - 17:45:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




zypikov пишет:
т.е. <имя_файла>.<расширение>?

Нет. header("Content-type: и далее по тексту.


-----
PostgreSQL DBA
 
 Top
zypikov
Отправлено: 13 Декабря, 2010 - 09:45:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Мелкий пишет:
на страницу выводится <img src="gd.php">

Тогда выходит, что результатом работы gd.php ВСЕГДА будет ОДНО изображение?

(Отредактировано автором: 13 Декабря, 2010 - 09:46:46)



-----
У всего есть обратная сторона.
 
 Top
JROUD
Отправлено: 13 Декабря, 2010 - 23:41:35
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




Так кто вам мешает поставить там идентификатор изображения
CODE (html):
скопировать код в буфер обмена
  1. <img src="gd.php?id=...">
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB