Ako na ukladanie a zobrazovanie obrazkov do databazy?

Vladimir Rengevic vlado na grafon.sk
Pondělí Únor 11 07:55:07 CET 2002


Pekny den ;o)

> Vladimir Rengevic wrote:
>
> > Vyskusal som na dekodovanie pouzit aj
> > StripSlashes()
> >
> > a aj ich previest do textovej formy:
> > base64_encode(fread($fp, filesize($foto)))
> > base64_decode($data)
> >
> > ale vysledok je rovnaky :-(
>
> Nevim jak pgsql, ale se čtením delších a binárních dat bývají problémy.
> Některé databáze nejsou schopné poslat delší záznam, než je velikost
> bufferu na klientovi (řádově 10 KB). Položky typu BLOB u některých
> databází nejde obhospodařovat pomocí klasických SQL příkazu jako INSERT
> a SELECT, ale pracuje se s nimi podobně jako se soubory. Teď si tak
> matně vzpomínám, že zrovna pro PostgreSQL jsou v PHP funkce Pg_LoRead a
> Pg_LoWrite pro práci s BLOBy -- touto cestou bych se vydal.

Takze som sa pozrel po primeranom nakopnuti do manualu kde sa mi podarilo
najst pracu s BLOBmi a asi skoncim u jednoduchsieho riesenia - do databazy
pojdu odkazy na obrazky a obrazky priamo na disk ;o)
Vyzera, ze to bude jednoduchsie. Myslel som si, ze dostanem obrazok priamo
do premennej a tu nejako zobrazim...
Riesenie je ale trocha ine a mam taky pocit mozno aj pomalsie. Vzdy z databazy
ulozit na disk...
CREATE TABLE image (
    name            text,
    raster          oid
);

INSERT INTO image (name, raster)
    VALUES ('beautiful image', lo_import('/etc/motd'));

SELECT lo_export(image.raster, '/tmp/motd') FROM image
    WHERE name = 'beautiful image';
Takze vdaka za rady ;o) Aj ked ako tak rozmyslam mohlo byt to byt




Další informace o konferenci Test