Как показать картинку из BLOB-поля в Interbase

Athlon

Guest
Создаешь файл для загрузки картинки getphoto.php:
<?PHP
$id = $_GET['ID']; //Айдишник в базе данных
$host = 'localhost:C:\DataBase\MYBASE.FDB';
$username = 'SYSDBA';
$password = 'masterkey';
// Коннектимся: имя хоста, логин, пароль, кодировка, буфер, диалект = 3
$db = ibase_connect($host, $username, $password, 'WIN1251', null, 3) or
die('Не могу подключиться к базе данных'. ibase_errmsg());
$query = 'select ID, PHOTO from FOTOS where (ID = '. $id. ')';
// Делаем выборку: извлекаем айди и саму фотку (можно и не по ID искать:) )
$table = ibase_query($db, $query) or
die('<p class="REDstyle">Не могу выполнить запрос:&nbsp;</p>'. $query);
// Получаем запись
$data = ibase_fetch_object($table);
// Загружаем информацию о типе BLOB и открываем хэндл
$blob_data = ibase_blob_info($data->PHOTO);
$blob_hndl = ibase_blob_open($data->PHOTO);
// Получаем сами данные в соответствии с полученной информацией
$photo = ibase_blob_get($blob_hndl, $blob_data[0]);
if ($photo)
{
// Тип возвращаемого контента
header('Content-type: image/jpeg');
echo $photo;
}
// Закрываем соединение
ibase_free_result($table);
ibase_close($db);
?>

Ну а там, где надо вставить эту картинку добавляем тэг:
<img src="getphoto.php?ID=12">
Извлекает из базы картинку с айдишником 12
Для MySQL примерно так же, но проще...
 

Фанат

oncle terrible
Команда форума
Тему создал я, вынеся пост диггера из другой.
Пусть висит, авось пригодится кому.
 
Сверху