mirror of
https://github.com/php/doc-ru.git
synced 2025-08-16 18:22:04 +00:00
Update to English php.xml
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: ec6e871a47fa15228aa3299f46fed826422adbc0 Maintainer: mch Status: ready -->
|
||||
<!-- EN-Revision: 8bc832a464e33122e8129f5a623bd845b69fa7e0 Maintainer: mch Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xml:id="wrappers.php" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="verify_info:false" role="stream_wrapper">
|
||||
<refnamediv>
|
||||
@ -10,30 +10,30 @@
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<para>
|
||||
PHP предоставляет несколько разнообразных потоков ввода-вывода, которые позволяют
|
||||
получить доступ к собственным потокам ввода-вывода PHP, к дескрипторам стандартного ввода, вывода и
|
||||
потока ошибок, к временным файловым потокам в памяти и на диске, и фильтрам, которые
|
||||
могут манипулировать другими файловыми ресурсами по мере их считывания
|
||||
В PHP предусмотрели ряд потоков ввода-вывода, которые открывают
|
||||
доступ к собственным потокам ввода-вывода PHP, к стандартным файловым дескрипторам ввода, вывода
|
||||
и ошибок, к временным файловым потокам в памяти и на диске, и фильтрам, которые
|
||||
умеют манипулировать другими файловыми ресурсами по мере их считывания
|
||||
или записи.
|
||||
</para>
|
||||
|
||||
<refsect2 xml:id="wrappers.php.std">
|
||||
<title>php://stdin, php://stdout и php://stderr</title>
|
||||
<simpara>
|
||||
<filename>php://stdin</filename>, <filename>php://stdout</filename> и
|
||||
<filename>php://stderr</filename> позволяют получить прямой доступ к соответствующим
|
||||
потокам ввода или вывода процесса PHP. Поток указывает на копию файлового
|
||||
дескриптора, таким образом, если вы откроете
|
||||
Потоки <filename>php://stdin</filename>, <filename>php://stdout</filename>
|
||||
и <filename>php://stderr</filename> открывают прямой доступ к соответствующему потоку
|
||||
ввода или вывода PHP-процесса. Поток указывает на копию файлового
|
||||
дескриптора, поэтому, если открыть
|
||||
<filename>php://stdin</filename>
|
||||
и потом закроете его, вы закроете только вашу копию дескриптора. Актуальный
|
||||
поток, на который ссылается <constant>STDIN</constant>, остаётся неизменным.
|
||||
а потом закрыть его, закроется только копия дескриптора — фактический
|
||||
поток, на который ссылается <constant>STDIN</constant>, останется неизменным.
|
||||
Рекомендуется просто использовать константы <constant>STDIN</constant>,
|
||||
<constant>STDOUT</constant> и <constant>STDERR</constant> вместо ручного
|
||||
открытия потоков, используя эти обёртки.
|
||||
открытия потоков через эти обёртки.
|
||||
</simpara>
|
||||
<simpara>
|
||||
Поток <filename>php://stdin</filename> предназначен только для чтения, тогда как
|
||||
<filename>php://stdout</filename> и <filename>php://stderr</filename> предназначены
|
||||
Поток <filename>php://stdin</filename> доступен только для чтения, тогда как
|
||||
потоки <filename>php://stdout</filename> и <filename>php://stderr</filename> —
|
||||
только для записи.
|
||||
</simpara>
|
||||
</refsect2>
|
||||
@ -41,20 +41,20 @@
|
||||
<refsect2 xml:id="wrappers.php.input">
|
||||
<title>php://input</title>
|
||||
<simpara>
|
||||
<filename>php://input</filename> является потоком только для чтения, который позволяет вам
|
||||
Поток <filename>php://input</filename> — поток только для чтения, который разрешает
|
||||
читать необработанные данные из тела запроса.
|
||||
<filename>php://input</filename> недоступен в POST-запросах с
|
||||
<literal>enctype="multipart/form-data"</literal>, если
|
||||
опция
|
||||
<link linkend="ini.enable-post-data-reading">enable_post_data_reading</link> включена.
|
||||
Поток <filename>php://input</filename> недоступен в POST-запросах
|
||||
с типом кодирования <literal>enctype="multipart/form-data"</literal>, если включили
|
||||
опцию
|
||||
<link linkend="ini.enable-post-data-reading">enable_post_data_reading</link>.
|
||||
</simpara>
|
||||
</refsect2>
|
||||
|
||||
<refsect2 xml:id="wrappers.php.output">
|
||||
<title>php://output</title>
|
||||
<para>
|
||||
<filename>php://output</filename> является потоком только для записи, который позволяет вам
|
||||
записать данные в выходной буфер аналогично, как это делают функции
|
||||
Поток <filename>php://output</filename> — поток только для записи, который разрешает
|
||||
записывать данные в механизм буфера вывода так же, как это делают языковые конструкции
|
||||
<function>print</function> и <function>echo</function>.
|
||||
</para>
|
||||
</refsect2>
|
||||
@ -62,7 +62,7 @@
|
||||
<refsect2 xml:id="wrappers.php.fd">
|
||||
<title>php://fd</title>
|
||||
<simpara>
|
||||
<filename>php://fd</filename> предоставляет прямой доступ к указанному файловому
|
||||
Поток <filename>php://fd</filename> разрешает прямой доступ к файловому
|
||||
дескриптору. Например, <filename>php://fd/3</filename> относится к файловому
|
||||
дескриптору 3.
|
||||
</simpara>
|
||||
@ -71,28 +71,28 @@
|
||||
<refsect2 xml:id="wrappers.php.memory">
|
||||
<title>php://memory и php://temp</title>
|
||||
<simpara>
|
||||
<filename>php://memory</filename> и <filename>php://temp</filename> являются
|
||||
потоками для чтения/записи и позволяют сохранять временные данные в файлоподобной
|
||||
Потоки <filename>php://memory</filename> и <filename>php://temp</filename> —
|
||||
потоки чтения и записи, которые разреашют сохранять временные данные в файлоподобной
|
||||
обёртке. Единственная разница между ними заключается в том, что
|
||||
<filename>php://memory</filename> будет всегда хранить данные в оперативной памяти,
|
||||
тогда как <filename>php://temp</filename> будет использовать временный файл в том случае, когда
|
||||
объем хранимой информации достигнет заданного лимита (по умолчанию 2 Мб).
|
||||
поток <filename>php://memory</filename> будет всегда хранить данные в оперативной памяти,
|
||||
тогда как <filename>php://temp</filename> будет использовать временный файл, как только
|
||||
объем хранимой информации достигнет предопределённого предела (по умолчанию 2 МБ).
|
||||
Расположение этого временного файла определяется аналогично функции
|
||||
<function>sys_get_temp_dir</function>.
|
||||
</simpara>
|
||||
<simpara>
|
||||
Размер лимита для <filename>php://temp</filename> может устанавливаться путём
|
||||
добавления <literal>/maxmemory:NN</literal>, где <literal>NN</literal> — это
|
||||
максимальный размер данных в байтах для хранения в памяти перед использованием временного
|
||||
файла.
|
||||
Ограничением памяти для потока <filename>php://temp</filename> управляют путём
|
||||
добавления суффикса <literal>/maxmemory:NN</literal>, где <literal>NN</literal> —
|
||||
максимальный размер данных в байтах для хранения в памяти перед тем как PHP создаст временный
|
||||
файл.
|
||||
</simpara>
|
||||
<caution>
|
||||
<simpara>
|
||||
Модулям PHP может потребоваться стандартный поток ввода-вывода
|
||||
и они могут попытаться преобразовать заданный поток в стандартный поток ввода-вывода.
|
||||
Отдельным PHP-модулям иногда требуется стандартный поток ввода-вывода
|
||||
и модули могут попытаться преобразовать заданный поток в стандартный поток ввода-вывода.
|
||||
Это преобразование может завершиться ошибкой для потоков памяти, поскольку для такого приведения
|
||||
необходима функция <function>fopencookie</function> языка Си.
|
||||
Такая функция языка Си <emphasis>недоступна</emphasis> в операционных системах Windows.
|
||||
необходима функция <function>fopencookie</function> языка C.
|
||||
Такая функция языка C <emphasis>недоступна</emphasis> в операционных системах Windows.
|
||||
</simpara>
|
||||
</caution>
|
||||
</refsect2>
|
||||
@ -100,12 +100,12 @@
|
||||
<refsect2 xml:id="wrappers.php.filter">
|
||||
<title>php://filter</title>
|
||||
<simpara>
|
||||
<filename>php://filter</filename> — это вид мета-обёртки, предназначенный для
|
||||
разрешения применения <link linkend="filters">фильтров</link> к
|
||||
потоку во время открытия. Это полезно для функционально полных файловых функций,
|
||||
таких как <function>readfile</function>, <function>file</function> и <function>file_get_contents</function>,
|
||||
где нет возможности применить фильтр к потоку до того, как
|
||||
содержимое будет прочитано.
|
||||
Поток <filename>php://filter</filename> — вид мета-обёртки, которая разрешает
|
||||
применять <link linkend="filters">фильтры</link>
|
||||
к потоку во время открытия. Это полезно при работе с универсальными файловыми функциями
|
||||
наподобие <function>readfile</function>, <function>file</function> и <function>file_get_contents</function>,
|
||||
где иначе нет возможности применить фильтр к потоку до считывания
|
||||
содержимого.
|
||||
</simpara>
|
||||
<para>
|
||||
Поток <filename>php://filter</filename> принимает следующие параметры
|
||||
@ -129,7 +129,7 @@
|
||||
<literal>resource=<поток для фильтрации></literal>
|
||||
</entry>
|
||||
<entry>
|
||||
Этот параметр является необходимым. Он указывает потоку, что его
|
||||
Этот параметр обязателен. Он указывает поток, который
|
||||
необходимо отфильтровать.
|
||||
</entry>
|
||||
</row>
|
||||
@ -138,8 +138,8 @@
|
||||
<literal>read=<список фильтров для применения к цепочке чтения></literal>
|
||||
</entry>
|
||||
<entry>
|
||||
Этот параметр является необязательным. Одно или несколько имён фильтров может быть указано
|
||||
здесь, разделённых вертикальной чертой (<literal>|</literal>).
|
||||
Этот параметр необязателен. Здесь можно указать одно или несколько имён фильтров
|
||||
через символ вертикальной черты (<literal>|</literal>).
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
@ -147,18 +147,18 @@
|
||||
<literal>write=<список фильтров для применения к цепочке записи></literal>
|
||||
</entry>
|
||||
<entry>
|
||||
Этот параметр является необязательным. Одно или несколько имён фильтров может быть указано
|
||||
здесь, разделённых вертикальной чертой (<literal>|</literal>).
|
||||
Этот параметр необязателен. Здесь можно указать одно или несколько имён фильтров
|
||||
через символ вертикальной черты (<literal>|</literal>).
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<literal><список фильтров для применения к обеим цепочкам чтения и записи></literal>
|
||||
<literal><список фильтров для применения к обеим цепочкам></literal>
|
||||
</entry>
|
||||
<entry>
|
||||
Любой список фильтров, которые используются без префиксов <literal>read=</literal>
|
||||
или <literal>write=</literal>, будет применён к обоим потокам на чтение и на запись
|
||||
при необходимости.
|
||||
Любые списки фильтров без префикса <literal>read=</literal>
|
||||
или <literal>write=</literal> будут применяться как к цепочкам чтения, так и к цепочкам
|
||||
записи.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
@ -173,8 +173,8 @@
|
||||
<para>
|
||||
<table>
|
||||
<title>
|
||||
Основная информация (для <literal>php://filter</literal> смотрите
|
||||
информацию по обёртке, которая подвергается фильтрации)
|
||||
Краткое описание обёртки (для потока <literal>php://filter</literal> смотрите
|
||||
информацию по фильтруемой обёртке)
|
||||
</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
@ -281,21 +281,23 @@
|
||||
<example><!-- {{{ -->
|
||||
<title>php://temp/maxmemory</title>
|
||||
<para>
|
||||
Этот необязательный параметр позволяет установить лимит памяти до того, как
|
||||
<filename>php://temp</filename> начнёт использовать временный файл.
|
||||
Этот необязательный параметр разрешает установить ограничение памяти до того, как
|
||||
поток <filename>php://temp</filename> начнёт использовать временный файл.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
// Установка предела в 5 MB.
|
||||
|
||||
// Устанавливаем предел в 5 МБ
|
||||
$fiveMBs = 5 * 1024 * 1024;
|
||||
$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');
|
||||
|
||||
fputs($fp, "hello\n");
|
||||
|
||||
// Читаем то, что мы записали.
|
||||
// Читаем то, что записали
|
||||
rewind($fp);
|
||||
echo stream_get_contents($fp);
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
@ -303,16 +305,17 @@ echo stream_get_contents($fp);
|
||||
<example><!-- {{{ -->
|
||||
<title>php://filter/resource=<поток для фильтрации></title>
|
||||
<para>
|
||||
Этот параметр должен быть расположен в
|
||||
конце вашей спецификации <filename>php://filter</filename> и
|
||||
должен указывать на поток, который вы хотите фильтровать.
|
||||
Этот параметр должен находиться
|
||||
в конце спецификации <filename>php://filter</filename>
|
||||
и указывать на поток, который необходимо отфильтровать.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
/* Это просто эквивалентно:
|
||||
readfile("http://www.example.com");
|
||||
так как на самом деле фильтры не указаны */
|
||||
поскольку на самом деле фильтры не указали */
|
||||
|
||||
readfile("php://filter/resource=http://www.example.com");
|
||||
?>
|
||||
@ -328,6 +331,7 @@ readfile("php://filter/resource=http://www.example.com");
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
/* Этот скрипт выведет содержимое
|
||||
www.example.com полностью в верхнем регистре */
|
||||
readfile("php://filter/read=string.toupper/resource=http://www.example.com");
|
||||
@ -335,6 +339,7 @@ readfile("php://filter/read=string.toupper/resource=http://www.example.com");
|
||||
/* Этот скрипт делает тоже самое, что вверхний, но
|
||||
будет также кодировать алгоритмом ROT13 */
|
||||
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
@ -342,16 +347,18 @@ readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.exam
|
||||
<example><!-- {{{ -->
|
||||
<title>php://filter/write=<список фильтров для применения к цепочке записи></title>
|
||||
<para>
|
||||
Этот параметр принимает один или более
|
||||
имён фильтров, разделённых вертикальной чертой <literal>|</literal>.
|
||||
Этот параметр принимает одно
|
||||
или несколько имён фильтров, разделённых вертикальной чертой <literal>|</literal>.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
/* Этот скрипт будет фильтровать строку "Hello World"
|
||||
через фильтр rot13, затем записывать результат в
|
||||
файл example.txt в текущей директории */
|
||||
через фильтр rot13, затем записывать результат
|
||||
в файл example.txt в текущем каталоге */
|
||||
file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
@ -359,7 +366,7 @@ file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello
|
||||
<example>
|
||||
<title>php://memory и php://temp нельзя переиспользовать</title>
|
||||
<para>
|
||||
<filename>php://memory</filename> и <filename>php://temp</filename>
|
||||
Потоки <filename>php://memory</filename> и <filename>php://temp</filename>
|
||||
нельзя переиспользовать, то есть после закрытия потоков невозможно
|
||||
сослаться на них снова.
|
||||
</para>
|
||||
|
Reference in New Issue
Block a user