1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 08:42:13 +01:00
Files
archived-doc-ru/reference/pgsql/functions/pg-unescape-bytea.xml
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

122 lines
4.3 KiB
XML
Raw 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: 58645a79f1993effc0571f7b49acc9aace0e417f Maintainer: aur Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-unescape-bytea" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_unescape_bytea</refname>
<refpurpose>
Убирает экранирование двоичных данных типа bytea
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>pg_unescape_bytea</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_unescape_bytea</function> убирает экранирование спецсимволов
в значениях типа PostgreSQL bytea. Возвращает неэкранированную строку,
содержащую двоичные данные.
</para>
<note>
<para>
При выборке SQL функцией <literal>SELECT</literal> данных типа bytea
PostgreSQL возвращает значения в восьмеричной системе счисления с префиксом
'\' (такие как \032). Пользователю необходимо вручную преобразовывать их
в двоичный формат.
</para>
<para>
Функция поддерживается PostgreSQL версии 7.2 и выше. Для версий
7.2.0 и 7.2.1 значения должны быть преобразованы к типу bytea,
когда включена мультибайтовая поддержка. Тогда как
<literal>INSERT INTO test_table (image)VALUES ('$image_escaped'::bytea);</literal>
в PostgreSQL 7.2.2 и выше не требует каких-либо преобразований.
Исключение составляет случай, когда клиентская (frontend) кодировка не соответствует
серверной (backend). При этом возникает ошибка мультибайтового потока, и пользователь
должен привести данные к типу bytea, чтобы её избежать.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
Строка (<type>string</type>), содержащая данные типа PostgreSQL bytea и подлежащая
преобразованию в двоичную строку PHP.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Строка (<type>string</type>) с неэкранированными спецсимволами.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>pg_unescape_bytea</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Подключение к базе данных
$dbconn = pg_connect('dbname=foo');
// Получение bytea данных
$res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
$raw = pg_fetch_result($res, 'data');
// Преобразование в двоичный формат и отправка в броузер
header('Content-type: image/jpeg');
echo pg_unescape_bytea($raw);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_escape_bytea</function></member>
<member><function>pg_escape_string</function></member>
</simplelist>
</para>
</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
-->