Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: pg_lo_open - Manual
[go: Go Back, main page]

PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

pg_lo_read_all" width="11" height="7"/> <pg_lo_import
Last updated: Mon, 05 Feb 2007

view this page in

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_open — ラージオブジェクトをオープンする

説明

resource pg_lo_open ( resource connection, int oid, string mode )

pg_lo_open() はデータベース内にラージオブジェクトを オープンし、それを操作するためのラージオブジェクトリソースを返します。

警告
ラージオブジェクトのリソースを閉じる前にデータベースへの接続を 閉じないでください。

ラージオブジェクトインターフェースは、トランザクションブロックの中で 使用する必要があります。

注意: この関数は、以前は pg_loopen() と呼ばれていました。

パラメータ

connection

PostgreSQL データベース接続リソース。connection が指定されていない場合はデフォルトの接続が使用されます。 デフォルトの接続は、直近の pg_connect() あるいは pg_pconnect() によって作成されたものです。

oid

データベース内のラージオブジェクトの OID

mode

読み込み専用の "r"、書き込み専用の "w"、読み書き可能な "rw" のいずれか。

返り値

ラージオブジェクトのリソースを返します。エラー時には FALSE を返します。

例 1808. pg_lo_open() の例

<?php
   $database
= pg_connect("dbname=jacarta");
  
pg_query($database, "begin");
  
$oid = pg_lo_create($database);
   echo
"$oid\n";
  
$handle = pg_lo_open($database, $oid, "w");
   echo
"$handle\n";
  
pg_lo_write($handle, "large object data");
  
pg_lo_close($handle);
  
pg_query($database, "commit");
?>

参考

pg_lo_close()
pg_lo_create()



add a note add a note User Contributed Notes
pg_lo_open
metator at netcabo dot pt
30-Aug-2005 03:15
Just for the record, a user must be a superuser (database owner) in order to invoke pg_lo_open() (though pg_lo_create() may be invoked...). This opens a gigantic security hole in the db. If a user is not a superuser, db will raise an error with message "Can't create Large Object.".
Thus, imho, one should use pg_escape_bytea() instead.
riccardo_ridenti at hotmail dot com
24-Oct-2002 07:49
//INSERT FILE INTO DB
$fp = fopen($filename,"r");
       $buffer = fread($fp,filesize($filename));
   fclose($fp);
   pg_query ($conn, "begin");
   $oid = pg_lo_create ($conn);
   //echo "$oid\n";
     $rs = pg_exec($conn,"insert into table(object) values($oid);");//object field type must be "oid"
   $handle = pg_lo_open ($conn, $oid, "w");
   //echo "$handle\n";
   pg_lo_write ($handle, $buffer);
   pg_lo_close ($handle);
   pg_query ($conn, "commit"); //OR END
pg_close();

//GET BUFFER(file) FROM DB
$rs = pg_exec($conn,"select object from objects where id = xxxxxx;");
$row = pg_fetch_row($rs,0);
pg_query ($conn, "begin");
   $loid = pg_lo_open($conn,$row[0], "r");
   pg_lo_read_all ($loid);
   pg_lo_close ($loid);
pg_query ($conn, "commit"); //OR END
pg_close();

pg_lo_read_all" width="11" height="7"/> <pg_lo_import
Last updated: Mon, 05 Feb 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites