Ako na ukladanie a zobrazovanie obrazkov do databazy?

mlekar dan yeti na seznam.cz
Neděle Únor 10 22:37:32 CET 2002


Pekny rano :)

Problem asi nebude v PgSQL ale v PHP skriptu.
Mozna by nebylo spatne pouzit neco jako base64.

base64_encode(fread($fp, filesize($foto)))
base64_decode($data)

Stejne bych Vam spis doporucil si je ukladat na disk. Ma to IMHO vic vyhod 
nez nevyhod.
A budte rad, ze delate s PgSQL. MySQL se z binarek v DB pekelne jebe (vetsi 
binarky, radove MB). Pravda, duvod je zdokumentovany. A do PgSQL jsem nikdy 
vetsi binarky nedaval, treba se jebe taky :)

A ten skript obrazok1.php je asi nejaky orezany, co? Pokud ne tak je docela 
divny :)


martin


Dne ne 10. únor 2002 22:08 jste napsal(a):
> 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