J2ME, Android. Aplikacje dla urządzeń mobilnych.
ASP.NET  DOKUMENTACJA  FLASH  J2EE SERVLET JSP  J2ME MOBILE  JAVASCRIPT  OPROGRAMOWANIE  PHP  SERWER  SQL  TRENDY  WYSZUKIWARKI  XML 

Przeglądanie obrazków z bazy PostgreSql.

Przeglądanie na szczęście nie jest zbyt skomplikowane, najtrudniejsze jest niestety wstawianie i kasowanie. Zwłaszcza usuwanie wierszy odwołujących się do bazy nie jest trywialne (należy stworzyć triggera) ale o tym w przyszłości. A teraz przejdĽmy do tematu.

Przeglądanie obrazków z bazy PostgreSql.

 
 spis treści:
Przeglądanie obrazków z bazy PostgreSql.1. Przeglądanie obrazków z bazy PostgreSql.
2. Przeglądanie obrazków z bazy PostgreSql.
W pliku gdzie ma się pojawić obrazek z bazy umieszczam:
<?php
# nadaję jakiś identyfikator, aby można się było w bazie jakoś odwołać do obrazka.
$nr=....
# wyświetlam obrazek - odwoluje sie do strony, która go stworzy (m_obrazek.php3)
echo '<img border=1 src="m_obrazek.php3?nr='.$nr.'" >';
?>


W pliku m_obrazek.php3 umieszczam tylko to:
<?php
Header("Content_type: image/gif");
header("Expires: Mon, 31 Nov 1997 05:00:00 GMT"); // data w przeszlosci
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // zawsze modyfikowany
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0

// Podłączenie do bazy
$conn = pg_Connect ("","","","","komis");
if (!$conn) { exit; }
// select, który wybiera na podst. nr zdjęcie
$sel="Select nr_kolejny, zdjecie from m_pojzdj where nr_kolejny=".$nr ;
pg_Exec ($conn, "begin"); // początek transakcji
$result = pg_Exec ($conn, $sel); // uruchomienie selecta
if (!$result) { exit;
} $row = pg_fetch_object ($result, 0); // pobranie obiektu

$fd=pg_loopen($conn,$row->zdjecie,"r"); // otwarcie OID'a
pg_loreadall($fd);
//przeczytanie zawartości i przesłanie jako ciągu bajtów
pg_loclose($fd);
pg_exec($conn,"commit"); // koniecznie potwierdzenie transakcji
pg_exec($conn,"End"); // i end
pg_close($conn);
?>

W pliku m_obrazek.php3 nie może się pojawić żadne echo ani nic dodatkowego, gdyż browser ma to traktować jako przesyłany ciąg bajtów.
Nagłówek takiego pliku jest też bardzo ważny, żeby przeglądarka odczytała to co trzeba z bazy a nie wyświetlała jakieś starocie z cache'a.

U mnie to działa - można sprawdzić na www.komisy.plocman.pl. Strona co prawda nie uruchomiona ale jakieś testowe dane tam są - i to działa na Postgresie.

Marcin (marcin.czarny@orlen.pl)
strona 1 2 następna      Autor: Marcin
Polska - Atrakcje turystyczne: Kolegiata Bożego Ciała na weekend
Zobacz również:
XML (1)   Technologia J2EE (1)   Java i bazy danych   Kartki Internetowe   Apache + Tomcat   PHP, MySQL i własna wyszukiwarka   Bezpieczne uploadowanie plików  

Masz problem ze swoją komórką? Zapytaj, przeczytaj opinie o telefonie:
LG G1600   Sagem myC5-3   Motorola E1000   Trium Cosmo   Alcatel OT557   i-mate K-JAM   Samsung A777   Benefon TWIG Discovery Pro   palmOne Treo 270   LG LX150  



(C) 2000-2010 webdeveloper.pl  |  Napisz do nas