ID: 24224 Updated by: [EMAIL PROTECTED] Reported By: cryo28 at rbcmail dot ru -Status: Open +Status: Feedback Bug Type: InterBase related Operating System: Win2000 and Linux PHP Version: 4.3.2 New Comment:
Try applying the following patch (http://bb.prohost.org/ibase.txt) and please let me know if it fixes the problem. Previous Comments: ------------------------------------------------------------------------ [2003-06-17 09:12:28] cryo28 at rbcmail dot ru Description: ------------ Bug was reproduced on Windows 2000 + PHP 4.3.1 + Firebird 1.0(W2K) and on RedHat Linux 9.0 + PHP 4.3.2 + Firebird 1.5 RC3(Linux). If BLOB size > 64K actual size of data returned by ibase_blob_get equals to Actual Size minus 64K. Reproduce code: --------------- while ($res = fetchRow($q)) { $val = $res->BLOBDATA; $blobinfo = ibase_blob_info($val); $blobhndl = ibase_blob_open($val); $image = ibase_blob_get($blobhndl, blobinfo[0]); echo $blobinfo[0]."\n"; echo strlen($image)."\n"; ibase_blob_close($blobhndl); } Expected result: ---------------- Above script produces, for example, 50000 50000 if BLOBDATA size 50000.[OK]. But if BLOBDATA size more than 65535 bytes script producing something like this: 65978 442 i.e. 442=65978-65536. ibase_blob_echo($VAL) works right. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24224&edit=1