mirror of
https://github.com/php/doc-ru.git
synced 2026-03-24 07:42:22 +01:00
88 lines
4.6 KiB
XML
88 lines
4.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 98d4a70aac9e7e3663282507f2f9ce014227e39d Maintainer: tmn Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<book xml:id="book.stream" xmlns="http://docbook.org/ns/docbook">
|
||
<?phpdoc extension-membership="core" ?>
|
||
<title>Потоки</title>
|
||
|
||
<preface xml:id="intro.stream">
|
||
&reftitle.intro;
|
||
<simpara>
|
||
Потоки — способ обобщения операций с файлами, сетевого обмена, сжатия данных
|
||
и других операций, которые делят между собой общий набор функций и применений. В простейшем
|
||
определении поток (<literal>stream</literal>) — объект ресурса
|
||
(<type>resource</type>), который ведёт себя как источник
|
||
непрерывной последовательности данных. Поэтому из потока можно
|
||
последовательно читать или записывать данные
|
||
и искать произвольные места внутри потока функцией <function>fseek</function>.
|
||
</simpara>
|
||
<simpara>
|
||
Обёртка (<literal>wrapper</literal>) — дополнительный код, который
|
||
сообщает потоку, как обрабатывать конкретные протоколы или кодировки.
|
||
Например, обёртка <literal>http</literal> знает, как
|
||
переводить URL-адрес в запрос по протоколу <literal>HTTP/1.0</literal> файла
|
||
с удалённого сервера. В PHP по умолчанию встроили набор обёрток,
|
||
которые перечисляет раздел «<xref linkend="wrappers"/>»,
|
||
а дополнительные пользовательские обёртки можно добавит либо в PHP-скрипт через вызов
|
||
функции <function>stream_wrapper_register</function>, либо непосредственно из модуля.
|
||
В PHP разрешается добавлять произвольные виды обёрток, поэтому ограничений на операции с обёртками нет.
|
||
Доступ к текущему списку обёрток, которые уже зарегистрировали, даёт функция <function>stream_get_wrappers</function>.
|
||
</simpara>
|
||
<para>
|
||
Ссылку на поток записывают вот так:
|
||
<parameter>scheme</parameter>://<parameter>target</parameter>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
Часть <parameter>scheme</parameter> (строка) — указывает название обёртки.
|
||
Примеры включают: file, http, https, ftp, ftps, compress.zlib, compress.bz2
|
||
и php. Список встроенных в PHP обёрток приводит раздел
|
||
«<xref linkend="wrappers"/>».
|
||
Функции устанавливают соединение через обёртку по умолчанию, часто это обёртка
|
||
<literal>file</literal>://, если обёртку не указали.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Часть <parameter>target</parameter> — зависит от обёртки.
|
||
Для потоков файловой системы в большей части случаев указывают путь и имя файла.
|
||
Для сетевых потоков чаще указывают имя хоста, и часто с добавлением пути.
|
||
Описание целей для встроенных обёрток снова приводит раздел «<xref linkend="wrappers"/>».
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</preface>
|
||
|
||
&reference.stream.setup;
|
||
&reference.stream.constants;
|
||
&reference.stream.filters;
|
||
&reference.stream.contexts;
|
||
&reference.stream.errors;
|
||
&reference.stream.examples;
|
||
&reference.stream.php-user-filter;
|
||
&reference.stream.streamwrapper;
|
||
&reference.stream.reference;
|
||
|
||
</book>
|
||
<!-- 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
|
||
-->
|