Ako na ukladanie a zobrazovanie obrazkov do databazy?
Jirka Kosek
jirka na kosek.cz
Neděle Únor 10 22:11:50 CET 2002
Vladimir Rengevic wrote:
> ---------------------------------
> 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"];
Při vkládání používáte AddSlashes() při výpisu proto musíte použít
StripSlashes().
> 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.
Pokud databáze neumí binární data, lze je převést do textové metody
např. metodou Base64 -- data se vám však nafouknou o třetinu a všechny
aplikace musí data z Base64 dekódovat.
--
-----------------------------------------------------------------
Jirka Kosek
e-mail: jirka na kosek.cz
http://www.kosek.cz
Další informace o konferenci Test