Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 3626

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>PDO::pgsqlLOBCreate</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="PostgreSQL Functions (PDO_PGSQL)"
HREF="ref.pdo-pgsql.html"><LINK
REL="PREVIOUS"
TITLE="PDO_PGSQL DSN"
HREF="ref.pdo-pgsql.connection.html"><LINK
REL="NEXT"
TITLE="PDO::pgsqlLOBOpen"
HREF="function.pdo-pgsqllobopen.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="refentry"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="ref.pdo-pgsql.connection.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.pdo-pgsqllobopen.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.PDO-pgsqlLOBCreate"
></A
>PDO::pgsqlLOBCreate</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN187482"
></A
><P
>    (no version information, might be only in CVS)</P
>PDO::pgsqlLOBCreate&nbsp;--&nbsp;Creates a new large object</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN187485"
></A
><H2
>说明</H2
>string <B
CLASS="methodname"
>PDO::pgsqlLOBCreate</B
> ( void  )<BR
></BR
><P
>&#13;   <B
CLASS="function"
>PDO::pgsqlLOBCreate()</B
> creates a large object and
   returns the OID of that object.  You may then open a stream on the object
   using <B
CLASS="function"
>PDO::pgsqlLOBOpen()</B
> to read or write data to
   it.  The OID can be stored in columns of type OID and be used to reference
   the large object, without causing the row to grow arbitrarily large.
   The large object will continue to live in the database until it
   is removed by calling <B
CLASS="function"
>PDO::pgsqlLOBUnlink()</B
>.
  </P
><P
>&#13;   Large objects can be up to 2GB in size, but are cumbersome to use; you need
   to ensure that <B
CLASS="function"
>PDO::pgsqlLOBUnlink()</B
> is called prior
   to deleting the last row that references its OID from your database.
   In addition, large objects have no access controls.  As an alternative,
   try the bytea column type; recent versions of PostgreSQL allow bytea
   columns of up to 1GB in size and transparently manage the storage for
   optimal row size.
  </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
    This function must be called within a transaction.
   </P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN187499"
></A
><H2
>参数</H2
><P
>&#13;   <B
CLASS="function"
>PDO::pgsqlLOBCreate()</B
> takes no parameters.
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN187503"
></A
><H2
>返回值</H2
><P
>&#13;   Returns the OID of the newly created large object on success, or <TT
CLASS="constant"
><B
>FALSE</B
></TT
>
   on failure.
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN187507"
></A
><H2
>范例</H2
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN187510"
></A
><P
><B
>例 1. A <B
CLASS="function"
>PDO::pgsqlLOBCreate()</B
> example</B
></P
><P
>&#13;     This example creates a new large object and copies the contents
     of a file into it.  The OID is then stored into a table.
    </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$db </font><font color="#007700">= new </font><font color="#0000BB">PDO</font><font color="#007700">(</font><font color="#DD0000">'pgsql:dbname=test host=localhost'</font><font color="#007700">, </font><font color="#0000BB">$user</font><font color="#007700">, </font><font color="#0000BB">$pass</font><font color="#007700">);<br /></font><font color="#0000BB">$db</font><font color="#007700">-&gt;</font><font color="#0000BB">setAttribute</font><font color="#007700">(</font><font color="#0000BB">PDO</font><font color="#007700">::</font><font color="#0000BB">ATTR_ERRMODE</font><font color="#007700">, </font><font color="#0000BB">PDO</font><font color="#007700">::</font><font color="#0000BB">ERRMODE_EXCEPTION</font><font color="#007700">);<br /></font><font color="#0000BB">$db</font><font color="#007700">-&gt;</font><font color="#0000BB">beginTransaction</font><font color="#007700">();<br /></font><font color="#0000BB">$oid </font><font color="#007700">= </font><font color="#0000BB">$db</font><font color="#007700">-&gt;</font><font color="#0000BB">pgsqlLOBCreate</font><font color="#007700">();<br /></font><font color="#0000BB">$stream </font><font color="#007700">= </font><font color="#0000BB">$db</font><font color="#007700">-&gt;</font><font color="#0000BB">pgsqlLOBOpen</font><font color="#007700">(</font><font color="#0000BB">$oid</font><font color="#007700">, </font><font color="#DD0000">'w'</font><font color="#007700">);<br /></font><font color="#0000BB">$local </font><font color="#007700">= </font><font color="#0000BB">fopen</font><font color="#007700">(</font><font color="#0000BB">$filename</font><font color="#007700">, </font><font color="#DD0000">'rb'</font><font color="#007700">);<br /></font><font color="#0000BB">stream_copy_to_stream</font><font color="#007700">(</font><font color="#0000BB">$local</font><font color="#007700">, </font><font color="#0000BB">$stream</font><font color="#007700">);<br /></font><font color="#0000BB">$local </font><font color="#007700">= </font><font color="#0000BB">null</font><font color="#007700">;<br /></font><font color="#0000BB">$stream </font><font color="#007700">= </font><font color="#0000BB">null</font><font color="#007700">;<br /></font><font color="#0000BB">$stmt </font><font color="#007700">= </font><font color="#0000BB">$db</font><font color="#007700">-&gt;</font><font color="#0000BB">prepare</font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO BLOBS (ident, oid) VALUES (?, ?)"</font><font color="#007700">);<br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">execute</font><font color="#007700">(array(</font><font color="#0000BB">$some_id</font><font color="#007700">, </font><font color="#0000BB">$oid</font><font color="#007700">));<br /></font><font color="#0000BB">$db</font><font color="#007700">-&gt;</font><font color="#0000BB">commit</font><font color="#007700">();<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN187515"
></A
><H2
>参见</H2
><P
>&#13;   <P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><B
CLASS="function"
>PDO::pgsqlLOBOpen()</B
></TD
></TR
><TR
><TD
><B
CLASS="function"
>PDO::pgsqlLOBUnlink()</B
></TD
></TR
><TR
><TD
><A
HREF="function.pg-lo-create.html"
><B
CLASS="function"
>pg_lo_create()</B
></A
></TD
></TR
></TBODY
></TABLE
><P
></P
>
  </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="ref.pdo-pgsql.connection.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="function.pdo-pgsqllobopen.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>PDO_PGSQL DSN</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.pdo-pgsql.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>PDO::pgsqlLOBOpen</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>