1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
2024-12-16 17:05:18 +03:00

117 lines
4.3 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4bf27edcd6c317ea311e68117bb2fa20dacb8e57 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="pdo-pgsql.lobopen" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>Pdo\Pgsql::lobOpen</refname>
<refpurpose>Открывает поток для существующего большого объекта</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="Pdo\\Pgsql">
<modifier>public</modifier> <type class="union"><type>resource</type><type>false</type></type><methodname>Pdo\Pgsql::lobOpen</methodname>
<methodparam><type>string</type><parameter>oid</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>mode</parameter><initializer>"rb"</initializer></methodparam>
</methodsynopsis>
<simpara>
Метод <methodname>Pdo\Pgsql::lobOpen</methodname> открывает поток для доступа к данным,
на которые ссылается <parameter>oid</parameter>.
Для работы с содержимым потока можно использовать все обычные функции файловой системы,
такие как функция <function>fread</function>, <function>fwrite</function> или <function>fgets</function>.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-pgsql.lobcreate')/db:refsect1[@role='description']/db:note/.)">
<xi:fallback/>
</xi:include>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>oid</parameter></term>
<listitem>
<simpara>
Идентификатор большого объекта.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<simpara>
Если указано значение <literal>r</literal>, поток открывается для чтения.
Если указано значение <literal>w</literal>, поток открывается для записи.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
Метод возвращает ресурс потока в случае успешного выполнения&return.falseforfailure;.
</simpara>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example xml:id="pdo-pgsql.lobopen.example.basic">
<title>Пример использования метода <methodname>Pdo\Pgsql::lobOpen</methodname></title>
<simpara>
Продолжая пример метода <methodname>Pdo\Pgsql::lobCreate</methodname>,
этот фрагмент кода извлекает большой объект из базы данных
и выводит его в браузер.
</simpara>
<programlisting role="php">
<![CDATA[
<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("SELECT oid FROM BLOBS WHERE ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $oid, PDO::PARAM_STR);
$stmt->fetch(PDO::FETCH_BOUND);
$stream = $db->pgsqlLOBOpen($oid, 'r');
header("Content-type: application/octet-stream");
fpassthru($stream);
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>Pdo\Pgsql::lobCreate</methodname></member>
<member><methodname>Pdo\Pgsql::lobUnlink</methodname></member>
<member><function>pg_lo_create</function></member>
<member><function>pg_lo_open</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->