powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отображение картинок
13 сообщений из 13, страница 1 из 1
Отображение картинок
    #33350857
I
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I
Гость
Доброго дня!
Люди помогите, пожалуйста.
Есть БД MySQL в ней таблица, а там поле mediumblob.
Туда кладется картинка (jpg ...)
$Bin_Data = addslashes(fread($fo,filesize($uploaddir.$_FILES['userfile'] ['name'])));
Затем она выгружается в папку на сервере
fwrite($fo,$Bin_Data);
и отбражается
print " <img src = '$src'> \n";
А отображается ерунда - файл совсем не похож на тот что загружали.
Что не так?
...
Рейтинг: 0 / 0
Отображение картинок
    #33350878
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
IДоброго дня!
Люди помогите, пожалуйста.
Есть БД MySQL в ней таблица, а там поле mediumblob.
Туда кладется картинка (jpg ...)
$Bin_Data = addslashes(fread($fo,filesize($uploaddir.$_FILES['userfile'] ['name'])));
Затем она выгружается в папку на сервере
fwrite($fo,$Bin_Data);
и отбражается
print " <img src = '$src'> \n";
А отображается ерунда - файл совсем не похож на тот что загружали.
Что не так?Зачем хранить файл в БД и в файловой системе сервера одновременно? В любом случае, приведённых данных не достаточно для того, чтобы указать точное местоположение ошибки - можно лишь гадать на кофейной гуще.
...
Рейтинг: 0 / 0
Отображение картинок
    #33350893
I
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I
Гость
Идея в том что картинка хранится в базе, но когда ее просят, то она кладется во временную папку, формируется страница (текст и рисунок) и отправляется клиенту.
Уточнение:
Загрузка в базу
if (!empty($_FILES["userfile"]) {
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir .
$_FILES['userfile']['name']))
$fo = fopen($uploaddir.$_FILES['userfile']['name'],"rb");
$Bin_Data = addslashes(fread($fo,filesize($uploaddir.$_FILES['userfile'] ['name'])));
fclose($fo);
}
запрос
INSERT INTO `BINARIES` ( `BINARIES`.`BIN_DATA`) VALUES ('$Bin_Data')
чтение
SELECT `BINARIES`.`BIN_DATA` FROM `BINARIES`
запись в файл
$fo=fopen($src,'w');
fwrite($fo,$Bin_Data );
fclose($fo);
отображение
print " <img src = '$src'> \n";
Теперь поможете:)
...
Рейтинг: 0 / 0
Отображение картинок
    #33350899
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I
чтение
SELECT `BINARIES`.`BIN_DATA` FROM `BINARIES`
...
Теперь поможете:)
SELECT должен быть с условием, иначе будет читать не ту картинку.
Или полный код в студию
...
Рейтинг: 0 / 0
Отображение картинок
    #33350908
I
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I
Гость
Все что угодно - только помогите!
Полный код запроса
SELECT `BINARIES`.`BIN_DATA` `BIN_DATA` FROM `BINARIES` WHERE `BINARIES`.`ID` = 1 ORDER BY `BINARIES`.`NAME`
В данный момент в таблице всего одна запись
...
Рейтинг: 0 / 0
Отображение картинок
    #33350913
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I
В данный момент в таблице всего одна запись
I
файл совсем не похож на тот что загружали
Ьак проблема в чтении? В таблице картинка нормально сохранена?
...
Рейтинг: 0 / 0
Отображение картинок
    #33350915
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Прочтите правила форума, потому что Поиск еще никто не отменял.
2. Пользуйтесь тегами форматирования, когда постите свои мессаги.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Отображение картинок
    #33350921
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andres 1
Ьак проблема в чтении? В таблице картинка нормально сохранена?
проблема в том, что автор не знает, что файл HTML-страницы не может одновременно состоять из текста и картинки. HTML-страница - есть текст со ССЫЛКАМИ на картинки, которые лежат отдельными файлами за пределами страницы, а не в ней. Пока он это не поймет, он будет пихать все что есть в один файл.
...
Рейтинг: 0 / 0
Отображение картинок
    #33350922
I
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I
Гость
Знал бы прикуп жил бы в Сочи ...
----------------------------------
Я не могу посмотреть что там лежит в таблице, так как это blob, но загруженный файл, который в временной директории - нормальный
Выгружаемый по размеру больше, а почему я не знаю
Отображаемая картинка чемто напоминает исходную, но выглядит так как будто все что было свалили в кучу перетрясли в высыпали.
...
Рейтинг: 0 / 0
Отображение картинок
    #33350926
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вчитался в "типа код"...
Писать в двоичном режиме надо...
Код: plaintext
$fo=fopen($src,'wb');
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Отображение картинок
    #33350927
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот только я не понимаю, в чем глубокий смысл считать картинку в БД из файла, затем извлечь картинку в файл и только потом отдавать клиенту.. Храните картинки файлами, не нагружайте вы БД.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Отображение картинок
    #33350928
I
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I
Гость
Хоть всей моей радости и не выскажешь словами, но попробую.
Спасибо большое!!!
Теперь все работает
...
Рейтинг: 0 / 0
Отображение картинок
    #33350932
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IХоть всей моей радости и не выскажешь словами, но попробую.
Спасибо большое!!!
Теперь все работает
Вообще-то принято делать примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?php
$link = mysql_connect('localhost', 'root', '')
   or die('Could not connect: ' . mysql_error());
mysql_select_db('test') or die('Could not select database');

$query = 'SELECT BIN_DATA FROM BINARIES WHERE ID = ' . $_REQUEST['id'];
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

$rec = mysql_fetch_array($result, MYSQL_ASSOC);

header("Content-Type: image/jpg");
echo $rec['BIN_DATA'];
mysql_free_result($result);
mysql_close($link);
?>
Сохранить как pic.php, вызывать как img src="pic.php?id=1"
Не забыть почитать о SQL injection.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отображение картинок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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