Update to English php.xml

This commit is contained in:
Mikhail Alferov
2024-06-17 02:03:58 +03:00
committed by GitHub
parent 8aec318aeb
commit 6adfcd631f

View File

@ -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=&lt;поток для фильтрации&gt;</literal>
</entry>
<entry>
Этот параметр является необходимым. Он указывает потоку, что его
Этот параметр обязателен. Он указывает поток, который
необходимо отфильтровать.
</entry>
</row>
@ -138,8 +138,8 @@
<literal>read=&lt;список фильтров для применения к цепочке чтения&gt;</literal>
</entry>
<entry>
Этот параметр является необязательным. Одно или несколько имён фильтров может быть указано
здесь, разделённых вертикальной чертой (<literal>|</literal>).
Этот параметр необязателен. Здесь можно указать одно или несколько имён фильтров
через символ вертикальной черты (<literal>|</literal>).
</entry>
</row>
<row>
@ -147,18 +147,18 @@
<literal>write=&lt;список фильтров для применения к цепочке записи&gt;</literal>
</entry>
<entry>
Этот параметр является необязательным. Одно или несколько имён фильтров может быть указано
здесь, разделённых вертикальной чертой (<literal>|</literal>).
Этот параметр необязателен. Здесь можно указать одно или несколько имён фильтров
через символ вертикальной черты (<literal>|</literal>).
</entry>
</row>
<row>
<entry>
<literal>&lt;список фильтров для применения к обеим цепочкам чтения и записи&gt;</literal>
<literal>&lt;список фильтров для применения к обеим цепочкам&gt;</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=&lt;поток для фильтрации&gt;</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=&lt;список фильтров для применения к цепочке записи&gt;</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>