Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP + postgreSQL

Mám uložený obrázek v PostgreSQL a chci si jej za pomocí PHP zobrazit do webové stránky.
Bohužel to nějak nefunguje:


 $db = OpenDB();
            $query = "select obrazek_velky from eshop_zbozi where id=1";
            $result = pg_query($db,$query);
          $data = pg_fetch_row($result);
              header("Content-Type: image/jpeg");
              echo $data[0];
                     

            pg_free_result($result);
            pg_close($db);

Pokud odmažu řádek: header("Content-Type: image/jpeg"); , tak se zobrazí (textově) obrázek, ale když to tam nechám, tak se zobrazí jen název souboru se skriptem.

Čerpal jsem odsud: http://www.linuxsoft.cz/article.php?id_article=420

Taky by mě zajímalo jak obrázek do DB uložit (tam jsem se ještě nedostal).

Předem díky za přehršel inspirativních odpovědí.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Vyriešné cez ICQ. Problém bol v tom, že PostgreSQL nevráti priamo vložené dáta, ale je potrebné ešte… poslední
los 13.10.2009 14:06
los

Vyriešné cez ICQ. Problém bol v tom, že PostgreSQL nevráti priamo vložené dáta, ale je potrebné ešte použiť funkciu pg_unescape_bytea:

When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

Pri vkladaní obrázku do databázy je potom potrebné použiť pg_escape_bytea (v dokumentácii k tejto funkcii je aj konkrétny príklad).

Zpět do poradny Odpovědět na původní otázku Nahoru