Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Извлечение полей blob из бд MySQL средствами perl / 7 сообщений из 7, страница 1 из 1
23.02.2015, 09:04
    #38886237
Aleksandr1008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение полей blob из бд MySQL средствами perl
Добрый день! Подскажите, уважаемые, в таблице MySQL хранится несколько записей, в том числе есть картинки. Хочу вывести таблицу на web-страницу, и вместо картинок выводит битое изображение... Помогите разобраться, может, где-то закралась ошибка..
Скрипт вывода таблицы:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
#!/usr/bin/perl

print "Content-type: text/html; charset=utf-8\n\n";
use CGI qw/:standard/;
use DBI;


        $driver = "mysql";
        $database="is3_03";
        $hostname="10.10.146.7";
	$port = "3306";
        $user="is3_03";
        $password="is";

        $dsn = "DBI:$driver:database=$database;host=$hostname;port=$port";
        $dbh = DBI->connect($dsn, $user, $password);

         $sth = $dbh->prepare( q{select * from cars}) || die "Can't prepare statement: $DBI::errstr";

$sth->execute(); 

	@FieldNames = @{ $sth->{NAME} };
	print "<table rules=all class='tableCreation'><tr>";
	foreach $field (@FieldNames) { 
		print "<td><b>".$field."</b></td>";
	}
	print "</tr>";

	while (@row = $sth->fetchrow_array) {
		print "<tr>";
		foreach $r (@row) {
			if ($r eq $row[$#row]) {

				if ($r eq undef) {
					print "<td>Логотип отсутствует</td>";
				} else {
					my $id = $row[0];
					print "<td>";
					print "<img src=\"10pl/get_blob.pl?id=$id\" width=\"50\" height=\"50\"> </img>";  #
					print "</td>";
				}

			} else {
				print "<td>".$r."</td>";
			}
		}
		print "</tr>";
	}
	print "</table>";
	
	$sth->finish;
	$dbh->disconnect;



Скрипт получения изображения:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
#!/usr/bin/perl

use DBI;
require "cgi-lib.pl";

&ReadParse;

my $id = $in{'id'};

    $driver = "mysql";
    $database="is3_03";
    $hostname="10.10.146.7";
	$port = "3306";
    $user="is3_03";
    $password="is";
		
	$dsn = "DBI:$driver:database=$database;host=$hostname;port=$port";
    $dbh = DBI->connect($dsn, $user, $password);
	
	$sth = $dbh->prepare( qq {select logo from cars where id = $id}) || die "Can't prepare statement: $DBI::errstr";
	$sth->execute;

my $href = $sth->fetchrow_hashref;
my $blob = $$href{'id'};

print STDOUT "Content-Type: image/jpeg\n";
print STDOUT "Content-length: \n\n";
binmode STDOUT;
print STDOUT $blob;

...
Рейтинг: 0 / 0
23.02.2015, 10:35
    #38886268
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение полей blob из бд MySQL средствами perl
Aleksandr1008,

а если ввести адрес, который в img src просто в браузере - открывается нормально?
...
Рейтинг: 0 / 0
23.02.2015, 10:50
    #38886276
Aleksandr1008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение полей blob из бд MySQL средствами perl
-k2-,

Попробовал перейти так:
cgi-bin/10pl/get_blob.pl
пустая страница..
...
Рейтинг: 0 / 0
23.02.2015, 10:56
    #38886283
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение полей blob из бд MySQL средствами perl
автор
Код: php
1.
"Content-length: \n\n"

Что-то не так. Либо длину отдаваемого указать, либо совсем убрать этот заголовок.
...
Рейтинг: 0 / 0
23.02.2015, 11:02
    #38886292
Aleksandr1008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение полей blob из бд MySQL средствами perl
vkle,

заголовок убрал-не получилось, все та же битая картинка, хотя посмотрел код элемента-то,что получилось,в картинке.. думаю,не напутал ли я где-нибудь с полями
...
Рейтинг: 0 / 0
23.02.2015, 11:04
    #38886294
Aleksandr1008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение полей blob из бд MySQL средствами perl
vkle,

что самое интересное, когда нажимаю на картинку "Посмотреть в новом окне", сервер выдает "The requested URL /is3_03/Labs/10pl/get_blob.pl was not found on this server."
...
Рейтинг: 0 / 0
23.02.2015, 11:06
    #38886299
Aleksandr1008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение полей blob из бд MySQL средствами perl
Aleksandr1008vkle,

что самое интересное, когда нажимаю на картинку "Посмотреть в новом окне", сервер выдает "The requested URL /is3_03/Labs/10pl/get_blob.pl was not found on this server."
а,ну да...у меня же скрипт хранится не в том месте..
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Извлечение полей blob из бд MySQL средствами perl / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]