pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all — Reads an entire large object and send straight to browser

Описание

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() reads a large object and passes it straight through to the browser after sending all pending headers. Mainly intended for sending binary data like images or sound.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_loreadall().

Список параметров

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Возвращаемые значения

Number of bytes read or FALSE on error.

Примеры

Пример #1 pg_lo_read_all() example

<?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");
?>

Смотрите также

Коментарии

// 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");
2004-09-24 10:45:13
http://php5.kiev.ua/manual/ru/function.pg-lo-read-all.html
Pay attention that if you omit the "length" parameter it will read a 8192 bytes object regardless to its real dimensions. If you want to use this function think to save the object size somewhere (usually a field in its table) before reading the object. Alternatively use the pg_lo_readall function.
2011-10-08 11:36:59
http://php5.kiev.ua/manual/ru/function.pg-lo-read-all.html

    Поддержать сайт на родительском проекте КГБ