PHP Doku:: Liest ein Large Object vollständig und reicht es direkt an den Browser weiter - function.pg-lo-read-all.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenPostgreSQLPostgreSQL-Funktionenpg_lo_read_all

Ein Service von Reinhard Neidl - Webprogrammierung.

PostgreSQL-Funktionen

<<pg_lo_open

pg_lo_read>>

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all Liest ein Large Object vollständig und reicht es direkt an den Browser weiter

Beschreibung

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() liest ein Large Object vollständig und übergibt es direkt an den Browser, nachdem alle entsprechenden Header gesendet wurden. Die Funktion wird hauptsächlich für Binärdaten wie Bilder oder Audiodaten genutzt.

Um die Large Object Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_loreadall()().

Parameter-Liste

large_object

PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.

Rückgabewerte

Die Anzahl der gelesenen Bytes oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_lo_read_all() Beispiel

<?php
   header
('Content-type: image/jpeg');
   
$image_oid 189762345;
   
$database pg_connect("dbname=jacarta");
   
pg_query($database"begin");
   
$handle pg_lo_open($database$image_oid"r");
   
pg_lo_read_all($handle);
   
pg_query($database"commit");
?>

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
robert dot bernier5 at sympatico dot ca
24.09.2004 16:45
// remember, large objects must be obtained from within a transaction
pg_query ($dbconn, "begin");

// "assume" for this example that the large object resource number of the zipped file is "17899"

$lo_oid = 17899;

$handle_lo = pg_lo_open($dbconn,$lo_oid,"r") or die("<h1>Error.. can't get handle</h1>");

//headers to send to the browser before beginning the binary download
header('Accept-Ranges: bytes');
header('Content-Length: 32029974'); //this is the size of the zipped file
header('Keep-Alive: timeout=15, max=100');
header('Content-type: Application/x-zip');
header('Content-Disposition: attachment; filename="superjob.zip"');

pg_lo_read_all($handle_lo) or
  die("<h1>Error, can't read large object.</h1>");

// committing the data transaction
pg_query ($dbconn, "commit");



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)