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
Форумы портала PHP.SU :: Версия для печати :: изображений(image) в базе Oracle SQL
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » изображений(image) в базе Oracle SQL

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

1. Паладин - 10 Июня, 2007 - 20:08:18 - перейти к сообщению
нужен скрипт:
Создайте сценарий php-4-06.php, реализующий отображение в окне обозревателя файла с именем php-4-image.png, сранящегося в таблице IMAGES базы данных dbtest.
Поля таблицы IMAGES:
id - номер записи (первичный ключ);
name - имя файла;
type - тип файла;
image - сам файл.

Загружать картинку не надо, скрипт по загрузке картинки в базу имеется:

<?php
$conn=OCILogon('bds1707', 'nsedadh45', 'dbtest');
$stmt=OCIParse($conn,"Create table IMAGES(id number(2), name varchar2(12), type varchar2(32), image blob)");
OCIExecute($stmt);
OCILogoff($conn);
$f=fopen('php-4-image.png','r');
$conn=OCILogon('bds1707', 'nsedadh45', 'dbtest');
if ($conn) {
$stmt=OCIParse($conn, "insert into images
(id, name, type, image)
values(1, 'bla', 'image/png',EMPTY_BLOB())
returning image into :img");
$lob=OCINewDescriptor($conn, OCI_D_LOB);
OCIBindByName($stmt, ':img', $lob, -1, OCI_B_BLOB);
OCIExecute($stmt, OCI_DEFAULT);
if($lob->save('php-4-image.png')){
if(OCICommit($conn)){echo 'yeah!';}
}
else{
echo 'Файл не загружен';
}
$lob->free();
OCIFreeStatement($stmt);
OCILogoff($conn);
}
else{
echo 'База данных не доступна';
}


?>

исспользовать надо не mySQL и т.п., а именно команды Oracle.
Я написал такой скрипт для отобра;ения файла-изображения, но он выводит пустую картинку, хотя в базе проверялось загружаеться изображение:
<?php
$conn=OCILogon('bds1707', 'nsedadh45', 'dbtest');
$stmt=OCIParse($conn, "select ID, type, image from IMAGES");
$mess=OCIExecute($stmt);
OCIFetch($stmt);
// $name=OCIResult($stmt,'NAME');
$id=OCIResult($stmt,'ID');
$type=OCIResult($stmt,'type');
$lob=OCIResult($stmt,'image');
echo $id.$type;
$img=$lob->read;
$lob->free;
// OCIFreeStatement($stmt);
OCILogoff($conn);
// header('Content-type:'.$type);
// echo $img;

?>

 

Powered by ExBB FM 1.0 RC1