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 Databases