1--TEST-- 2oci_lob_import()/read() 3--SKIPIF-- 4<?php 5$target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs 6require(dirname(__FILE__).'/skipif.inc'); 7?> 8--FILE-- 9<?php 10 11require dirname(__FILE__).'/connect.inc'; 12require dirname(__FILE__).'/create_table.inc'; 13 14$ora_sql = "INSERT INTO 15 ".$schema.$table_name." (blob) 16 VALUES (empty_blob()) 17 RETURNING 18 blob 19 INTO :v_blob "; 20 21$statement = oci_parse($c,$ora_sql); 22$blob = oci_new_descriptor($c,OCI_D_LOB); 23oci_bind_by_name($statement,":v_blob", $blob,-1,OCI_B_BLOB); 24oci_execute($statement, OCI_DEFAULT); 25 26var_dump($blob); 27var_dump($blob->seek(10, OCI_SEEK_CUR)); 28var_dump($blob->import(dirname(__FILE__)."/lob_009.txt")); 29var_dump($blob->import()); 30var_dump(oci_lob_import($blob)); 31var_dump(oci_lob_import($blob, dirname(__FILE__)."/lob_009.txt")); 32unset($blob->descriptor); 33var_dump(oci_lob_import($blob, dirname(__FILE__)."/lob_009.txt")); 34oci_commit($c); 35 36$select_sql = "SELECT blob FROM ".$schema.$table_name." FOR UPDATE"; 37$s = oci_parse($c, $select_sql); 38oci_execute($s, OCI_DEFAULT); 39 40var_dump($row = oci_fetch_array($s)); 41 42while (!$row[0]->eof()) { 43 var_dump(str_replace("\r", "", $row[0]->read(1024))); 44} 45 46require dirname(__FILE__).'/drop_table.inc'; 47 48echo "Done\n"; 49 50?> 51--EXPECTF-- 52object(OCI-Lob)#%d (1) { 53 ["descriptor"]=> 54 resource(%d) of type (oci8 descriptor) 55} 56bool(true) 57bool(true) 58 59Warning: OCI-Lob::import() expects exactly 1 parameter, 0 given in %s on line %d 60NULL 61 62Warning: oci_lob_import() expects exactly 2 parameters, 1 given in %s on line %d 63NULL 64bool(true) 65 66Warning: oci_lob_import(): Unable to find descriptor property in %s on line %d 67bool(false) 68array(2) { 69 [0]=> 70 object(OCI-Lob)#%d (1) { 71 ["descriptor"]=> 72 resource(%d) of type (oci8 descriptor) 73 } 74 ["BLOB"]=> 75 object(OCI-Lob)#%d (1) { 76 ["descriptor"]=> 77 resource(%d) of type (oci8 descriptor) 78 } 79} 80string(43) "this 81is 82a 83test 84file for 85test lob_009.phpt 86" 87Done 88