![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
joaquin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 9.10.2010 Репутация: нет Всего: нет |
Добрый день уважаемые форумчане.
Есть задача вывода картинок из mysql на страницу с текстом.Из таблицы image вывожу картинку (соотв. код приведен ниже) при задании 'Conten-type: image/jpg'.Вопрос в том как вывести картинку и далее отобразить какой-либо текст. Пример кода: #!/usr/bin/perl -w use CGI::Carp qw(fatalsToBrowser); use DBI; use CGI qw ( :standard ); #Задаем местанахождение файла конфигурации use lib "/home/web/cgi-bin/config"; #Подключаем файл конфигурации use test qw( :DEFAULT :admin &f_date_gm); print "Expired: Sun, 27 october 2010 07:00:00 GMT\n"; print "Last-Modified: " .&f_date_gm() ."GMT\n"; print "Cache-Control: no-store, no-cache, must-revalidate\n"; print "Pragma: no-cache\n"; #Подключаемся к базе данных my $ds = 'DBI:mysql:' . $DATA{'DB'} . ':' .$DATA{'HOST'}; my $db = DBI->connect($ds, $DATA{'LOGIN'}, $DATA{'PASSW'}); if (!$db) { print "<div class=\"err\">Не удалось установить "; print "соединение с базой данных</div>"; &f_footer_user(); exit(); } $db->do("set names cp1251"); my $sth= $db->prepare("SELECT foto FROM image WHERE id=1"); $sth->execute(); my @row = $sth->fetchrow_array; my $image = "$row[0]"; my $query = CGI->new; open(my $FH, $image); my $picture = do { local $/ = undef; <$FH> }; close $FH; print $query->header(-type => 'image/jpeg'); binmode STDOUT; print $picture; print "<p>Следующий за картинкой текст</p>\n"; Заранее спасибо. |
|||
|
||||
Jimy |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 4.7.2010 Репутация: нет Всего: 3 |
либо двумя запросами:
1. текст. В тексте будет HTML тег <img>, в котором будет указан путь к картинке, и прочие ее атрибуты. 2. картинка, которую браузер запросит для вставки в текст вместо тега <IMG>. Тогда, приведенный Вами код, это запрос №2. либо вставкой кода картинки прямо в HTML разметку: <img src="data:image/gif;base64,двоичный_код_изображения_закодированный_в_base64" /> тогда за один запрос можно отправить и картинку и "текст" |
|||
|
||||
joaquin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 9.10.2010 Репутация: нет Всего: нет |
Спасибо за помощь.Подскажите пожалуста как связать два запроса.Если есть возможность предоставте пожалуста пример какого-либо кода.
|
|||
|
||||
joaquin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 9.10.2010 Репутация: нет Всего: нет |
Решено.Благодаря предоставленному ответу от Jimy,за что ему огромное спасибо!
В основной файл main.pl (приведен ниже) вставил приведенный выше код image.pl через тег <IMG>: #!/usr/bin/perl #main.pl use CGI qw ( :standard ); #Задаем местанахождение файла конфигурации use lib "/home/web/cgi-bin/config"; #Подключаем файл конфигурации use test qw( :DEFAULT :admin &f_date_gm); print "Expired: Sun, 27 october 2010 07:00:00 GMT\n"; print "Last-Modified: " .&f_date_gm() ."GMT\n"; print "Cache-Control: no-store, no-cache, must-revalidate\n"; print "Pragma: no-cache\n"; print "Content-type: text/html\n\n"; print "<img src=\"image.pl\" alt=\"\"\/>"; print "<p>Hello</p>\n"; Только вот назрел вопрос относительно 2 метода ![]() |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
joaquin, поищите по форуму, пример кода уже проскакивал здесь
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |