Ako na ukladanie a zobrazovanie obrazkov do databazy?

Otakar Kleps kleps na avonet.cz
Pondělí Únor 11 08:54:02 CET 2002


Pred vlozenim do DB bych bin.data obrazku prevedl na hex ci oktal format 
zapisu(tj. \068\001 ....). Plynou z toho vetsi naroky pri vkladani, ale 
pri cteni jiz nemusite nic prevadet.
Jako prakticke reseni bych osobne doporucoval do DB ukladat jen nazvy 
souboru(popr. adresar) s obrazky. Ulozeni do ruznych adresaru(treba 
tematicky) bych delal v pripade nekolika tisic souboru v jednom adresari.

Ota Kleps
kleps na avonet.cz

Vladimir Rengevic wrote:
> Pekny podvecer,
> 
> uz dost dlho sa trapim s ulozenim obrazkov do databazy a ich zobrazenim.
> 
> Pouzivam Postgress. Obrazok mam definovany ako BLOB teda "bytea".
> 
> Dostat ho tam chcem (v $foto1s mam meno suboru z 
> <INPUT TYPE="FILE" NAME="foto1s" ACCEPT="image/jpg">:
> 
> ---------------------------------
> if ($foto1s<>"none"):
>           $fp=FOpen($foto1s,"r");
>           $foto1=AddSlashes(FRead($fp,FileSize($foto1s)));
>           FClose($fp);
>           unlink($foto1s);
> endif;
> $vysledok=Pg_Exec($spojenie,"INSERT INTO objekty
>              (objekt,nazov,lokalita,popis,vyska,foto1) VALUES
>              ('$objekt','$nazov','$lokalita','$popis',$vyska,'$foto1');
> ---------------------------------
> 
> 
> Zobrazit sa ich pokusam:
> 
> ...
> <IMG SRC="obrazok1.php?i='.$i.'">
> ....
> pricom v $i mam ID riadku, ktory chcem zobrazit. Ostatne polozky
> zobrazm bez problemov...
> 
> Skript obrazok1.php
> -----------------------------------
> <?
> Header("Content-type: image/pjpeg");
> @$spojenie=Pg_Connect("host=localhost dbname=ths user=XXX password=XX");
> $vysledok=Pg_Exec($spojenie,"SELECT foto1 FROM objekty");
> $zaznam=Pg_Fetch_Array($vysledok,$i);
> echo $zaznam["foto1"];
> ?>
> ------------------------------------
> No a vysledok je jedinny-nezobrazitelny obrazok. Predpokladam,
> ze problem je v ukladani dat do databazy, ale neviem ako to otestovat.
> Ked pozrem riadkovym klientom tak tam nieco je, ale vzhladom na to,
> ze je to binarna zaletitost netusim ci to co by som potreboval....
> 
> Vdaka za pomoc ;o)
> 
> Vlado
> 
> P.S. Pred casom som sa snazil vyriesit toto iste (este nebol v Psql objekt BLOB
> tak som to nechal  tak) ale snazil som sa nazriet do archivu kde som debatu nasiel.
> Ale preco tam nie su prispevky, len hlavicky?
> 
> ----
> Ing. Vladimir Rengevic
> GRAFON dtp studio
> Tranovskeho 19, Liptovsky Mikulas, Slovakia
> phone: +421/44/5526153, fax: +421/44/5621454
> mobil: +421/905/642799




Další informace o konferenci Test