From:             leitgebj at barada dot canisius dot edu
Operating system: Mac OS X Darwin Kernel 6.3
PHP version:      4.3.2
PHP Bug Type:     PostgreSQL related
Bug description:  pg_lo_read_all returns a modified large object from database

Description:
------------
When a PG large object is returned to the web browser from the database
using pg_lo_read_all(db resource, object id) the returned object is
modified as shown by the unix command cmp.

bash-2.05a$ cmp kat_y_justin.jpg kat_y_justin_dl.jpg 
kat_y_justin.jpg kat_y_justin_dl.jpg differ: char 1, line 1

File sizes are different but not drastically (between original and
downloaded object).  Size is field number 1 below:

30877 Aug  3 14:37 kat_y_justin.jpg
30884 Aug  3 15:15 kat_y_justin_dl.jpg

Reproduce code:
---------------
function send_object() {
   $db = do_db_connect();
   cdb_query($db, "begin");
   $res = pg_lo_open($db, $_POST['object_id'], 'r');
   header("Content-type: " . $_POST['file_type']);
   header("Content-Disposition: file; filename=" .       
           $_POST['filename']);
   header("Content-Transfer-Encoding: binary");
   pg_lo_read_all($res);
   pg_lo_close($res);
   cdb_query($db, "end");
   exit();
}

cdb_query(db resource, string) is just a SQL wrapper function.

Expected result:
----------------
The same large object (which can be retrieved by using command line psql)
should be returned to browser.

Actual result:
--------------
A modified file is returned to the browser.

-- 
Edit bug report at http://bugs.php.net/?id=24932&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=24932&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=24932&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=24932&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=24932&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=24932&r=needtrace
Try newer version:          http://bugs.php.net/fix.php?id=24932&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=24932&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=24932&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=24932&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=24932&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=24932&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24932&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=24932&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=24932&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=24932&r=gnused

Reply via email to