<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.other.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'book.stream.php',
    1 => 'Потоки',
    2 => 'Потоки',
  ),
  'up' => 
  array (
    0 => 'refs.basic.other.php',
    1 => 'Другие базовые модули',
  ),
  'prev' => 
  array (
    0 => 'function.spl-object-id.php',
    1 => 'spl_object_id',
  ),
  'next' => 
  array (
    0 => 'stream.setup.php',
    1 => 'Установка и настройка',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/stream/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.stream.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.stream" class="book">
 
 <h1 class="title">Потоки</h1>

 <div id="intro.stream" class="preface">
  <h1 class="title">Введение</h1>
  <p class="simpara">
   Потоки — способ обобщения операций с файлами, сетевого обмена, сжатия данных
   и других операций, которые делят между собой общий набор функций и применений. В простейшем
   определении поток (<code class="literal">stream</code>) — объект ресурса
   (<span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>), который ведёт себя как источник
   непрерывной последовательности данных. Поэтому из потока можно
   последовательно читать или записывать данные
   и искать произвольные места внутри потока функцией <span class="function"><a href="function.fseek.php" class="function">fseek()</a></span>.
  </p>
  <p class="simpara">
   Обёртка (<code class="literal">wrapper</code>) — дополнительный код, который
   сообщает потоку, как обрабатывать конкретные протоколы или кодировки.
   Например, обёртка <code class="literal">http</code> знает, как
   переводить URL-адрес в запрос по протоколу <code class="literal">HTTP/1.0</code> файла
   с удалённого сервера. В PHP по умолчанию встроили набор обёрток,
   которые перечисляет раздел «<a href="wrappers.php" class="xref">Протоколы и обёртки</a>»,
   а дополнительные пользовательские обёртки можно добавит либо в PHP-скрипт через вызов
   функции <span class="function"><a href="function.stream-wrapper-register.php" class="function">stream_wrapper_register()</a></span>, либо непосредственно из модуля.
   В PHP разрешается добавлять произвольные виды обёрток, поэтому ограничений на операции с обёртками нет.
   Доступ к текущему списку обёрток, которые уже зарегистрировали, даёт функция <span class="function"><a href="function.stream-get-wrappers.php" class="function">stream_get_wrappers()</a></span>.
  </p>
  <p class="para">
   Ссылку на поток записывают вот так:
   <code class="parameter">scheme</code>://<code class="parameter">target</code>
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Часть <code class="parameter">scheme</code> (строка) — указывает название обёртки.
      Примеры включают: file, http, https, ftp, ftps, compress.zlib, compress.bz2
      и php. Список встроенных в PHP обёрток приводит раздел
      «<a href="wrappers.php" class="xref">Протоколы и обёртки</a>».
      Функции устанавливают соединение через обёртку по умолчанию, часто это обёртка
      <code class="literal">file</code>://, если обёртку не указали.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Часть <code class="parameter">target</code> — зависит от обёртки.
      Для потоков файловой системы в большей части случаев указывают путь и имя файла.
      Для сетевых потоков чаще указывают имя хоста, и часто с добавлением пути.
      Описание целей для встроенных обёрток снова приводит раздел «<a href="wrappers.php" class="xref">Протоколы и обёртки</a>».
     </span>
    </li>
   </ul>
  </p>
 </div>

 





 





 





 






 






 





 





 





 







<ul class="chunklist chunklist_book"><li><a href="stream.setup.php">Установка и настройка</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="stream.resources.php">Классы для работы с потоками</a></li></ul></li><li><a href="stream.constants.php">Предопределённые константы</a></li><li><a href="stream.filters.php">Потоковые фильтры</a></li><li><a href="stream.contexts.php">Контексты потоков</a></li><li><a href="stream.errors.php">Ошибки потока</a></li><li><a href="stream.examples.php">Примеры</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="stream.streamwrapper.example-1.php">Пример класса, зарегистрированного в качестве обёртки потока</a></li></ul></li><li><a href="class.php-user-filter.php">php_user_filter</a> — Класс php_user_filter<ul class="chunklist chunklist_book chunklist_children"><li><a href="php-user-filter.filter.php">php_user_filter::filter</a> — Вызывается, как только применяется фильтр</li><li><a href="php-user-filter.onclose.php">php_user_filter::onClose</a> — Вызывается при закрытии фильтра</li><li><a href="php-user-filter.oncreate.php">php_user_filter::onCreate</a> — Вызывается при создании объекта фильтра</li></ul></li><li><a href="class.streamwrapper.php">streamWrapper</a> — Класс streamWrapper<ul class="chunklist chunklist_book chunklist_children"><li><a href="streamwrapper.construct.php">streamWrapper::__construct</a> — Создаёт новый объект обёртки потока</li><li><a href="streamwrapper.destruct.php">streamWrapper::__destruct</a> — Уничтожает существующую обёртку потока</li><li><a href="streamwrapper.dir-closedir.php">streamWrapper::dir_closedir</a> — Закрыть дескриптор директории</li><li><a href="streamwrapper.dir-opendir.php">streamWrapper::dir_opendir</a> — Открыть дескриптор директории</li><li><a href="streamwrapper.dir-readdir.php">streamWrapper::dir_readdir</a> — Чтение записи из дескриптора директории</li><li><a href="streamwrapper.dir-rewinddir.php">streamWrapper::dir_rewinddir</a> — Дескриптор директории перемещения на её в начало</li><li><a href="streamwrapper.mkdir.php">streamWrapper::mkdir</a> — Создание директории</li><li><a href="streamwrapper.rename.php">streamWrapper::rename</a> — Переименовывает файл или директорию</li><li><a href="streamwrapper.rmdir.php">streamWrapper::rmdir</a> — Удаляет директорию</li><li><a href="streamwrapper.stream-cast.php">streamWrapper::stream_cast</a> — Извлекает низкоуровневый дескриптор</li><li><a href="streamwrapper.stream-close.php">streamWrapper::stream_close</a> — Закрывает ресурс</li><li><a href="streamwrapper.stream-eof.php">streamWrapper::stream_eof</a> — Проверяет достижение конца файла по файловому указателю</li><li><a href="streamwrapper.stream-flush.php">streamWrapper::stream_flush</a> — Сбрасывает вывод</li><li><a href="streamwrapper.stream-lock.php">streamWrapper::stream_lock</a> — Консультативная блокировка файла</li><li><a href="streamwrapper.stream-metadata.php">streamWrapper::stream_metadata</a> — Изменяет метаданные потока</li><li><a href="streamwrapper.stream-open.php">streamWrapper::stream_open</a> — Открывает файл или URL</li><li><a href="streamwrapper.stream-read.php">streamWrapper::stream_read</a> — Читает из потока</li><li><a href="streamwrapper.stream-seek.php">streamWrapper::stream_seek</a> — Перемещает положение файлового указателя в потоке</li><li><a href="streamwrapper.stream-set-option.php">streamWrapper::stream_set_option</a> — Изменение настроек потока</li><li><a href="streamwrapper.stream-stat.php">streamWrapper::stream_stat</a> — Получение информации о файловом ресурсе</li><li><a href="streamwrapper.stream-tell.php">streamWrapper::stream_tell</a> — Определение текущей позиции потока</li><li><a href="streamwrapper.stream-truncate.php">streamWrapper::stream_truncate</a> — Усечение потока</li><li><a href="streamwrapper.stream-write.php">streamWrapper::stream_write</a> — Запись в поток</li><li><a href="streamwrapper.unlink.php">streamWrapper::unlink</a> — Удаление файла</li><li><a href="streamwrapper.url-stat.php">streamWrapper::url_stat</a> — Получение информации о файле</li></ul></li><li><a href="ref.stream.php">Функции для работы с потоками</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.stream-bucket-append.php">stream_bucket_append</a> — Добавляет бакет в бригаду</li><li><a href="function.stream-bucket-make-writeable.php">stream_bucket_make_writeable</a> — Возвращает объект бакета из бригады для дальнейшей работы с ним</li><li><a href="function.stream-bucket-new.php">stream_bucket_new</a> — Создаёт новый бакет для использования в текущем потоке</li><li><a href="function.stream-bucket-prepend.php">stream_bucket_prepend</a> — Добавляет бакет в начало бригады</li><li><a href="function.stream-context-create.php">stream_context_create</a> — Создаёт контекст потока</li><li><a href="function.stream-context-get-default.php">stream_context_get_default</a> — Получает контекст потока по умолчанию</li><li><a href="function.stream-context-get-options.php">stream_context_get_options</a> — Получает опции для потока/обёртки/контекста</li><li><a href="function.stream-context-get-params.php">stream_context_get_params</a> — Получает параметры из контекста</li><li><a href="function.stream-context-set-default.php">stream_context_set_default</a> — Устанавливает контекст потока по умолчанию</li><li><a href="function.stream-context-set-option.php">stream_context_set_option</a> — Устанавливает опцию для потока, обёртки или контекста</li><li><a href="function.stream-context-set-options.php">stream_context_set_options</a> — Устанавливает опции заданному контексту</li><li><a href="function.stream-context-set-params.php">stream_context_set_params</a> — Устанавливает параметры для потока, обёртки или контекста</li><li><a href="function.stream-copy-to-stream.php">stream_copy_to_stream</a> — Копирует данные из одного потока в другой</li><li><a href="function.stream-filter-append.php">stream_filter_append</a> — Прикрепляет фильтр к потоку</li><li><a href="function.stream-filter-prepend.php">stream_filter_prepend</a> — Прикрепляет фильтр к потоку</li><li><a href="function.stream-filter-register.php">stream_filter_register</a> — Регистрирует пользовательский фильтр потока</li><li><a href="function.stream-filter-remove.php">stream_filter_remove</a> — Удаляет фильтр из потока</li><li><a href="function.stream-get-contents.php">stream_get_contents</a> — Читает оставшуюся часть потока в строку</li><li><a href="function.stream-get-filters.php">stream_get_filters</a> — Получает список зарегистрированных фильтров</li><li><a href="function.stream-get-line.php">stream_get_line</a> — Получает строку из потокового ресурса до указанного разделителя</li><li><a href="function.stream-get-meta-data.php">stream_get_meta_data</a> — Извлекает заголовок или метаданные из потоков или файловых указателей</li><li><a href="function.stream-get-transports.php">stream_get_transports</a> — Получает список зарегистрированных транспортных протоколов для работы с сокетами</li><li><a href="function.stream-get-wrappers.php">stream_get_wrappers</a> — Получает список зарегистрированных потоков</li><li><a href="function.stream-is-local.php">stream_is_local</a> — Проверяет, относится ли поток к локальному</li><li><a href="function.stream-isatty.php">stream_isatty</a> — Проверяет, относится ли поток к терминальному устройству TTY</li><li><a href="function.stream-notification-callback.php">stream_notification_callback</a> — Играет роль callback-функции для параметра контекста notification</li><li><a href="function.stream-register-wrapper.php">stream_register_wrapper</a> — Псевдоним stream_wrapper_register</li><li><a href="function.stream-resolve-include-path.php">stream_resolve_include_path</a> — Разрешает имя файла через пути включения</li><li><a href="function.stream-select.php">stream_select</a> — Запускает эквивалент системного вызова select() на массивах
   потоков со временем ожидания в секундах и микросекундах</li><li><a href="function.stream-set-blocking.php">stream_set_blocking</a> — Устанавливает блокирующий или неблокирующий режим для потока</li><li><a href="function.stream-set-chunk-size.php">stream_set_chunk_size</a> — Устанавливает размер фрагмента данных потока</li><li><a href="function.stream-set-read-buffer.php">stream_set_read_buffer</a> — Устанавливает буферизацию чтения файла в потоке</li><li><a href="function.stream-set-timeout.php">stream_set_timeout</a> — Устанавливает значение времени ожидания для потока</li><li><a href="function.stream-set-write-buffer.php">stream_set_write_buffer</a> — Устанавливает буферизацию файла при записи в указанный поток</li><li><a href="function.stream-socket-accept.php">stream_socket_accept</a> — Принимает соединение в сокете, который создали функцией stream_socket_server</li><li><a href="function.stream-socket-client.php">stream_socket_client</a> — Открывает соединение с интернет-сокетом или с доменным Unix-сокетом</li><li><a href="function.stream-socket-enable-crypto.php">stream_socket_enable_crypto</a> — Включает или отключает шифрование на уже подключённом сокете</li><li><a href="function.stream-socket-get-name.php">stream_socket_get_name</a> — Получает название локального или удалённого сокета</li><li><a href="function.stream-socket-pair.php">stream_socket_pair</a> — Создаёт пару подключённых, неразличимых потоков сокетов</li><li><a href="function.stream-socket-recvfrom.php">stream_socket_recvfrom</a> — Получает данные из сокета независимо от состояния подключения сокета</li><li><a href="function.stream-socket-sendto.php">stream_socket_sendto</a> — Отправляет сообщение в сокет, независимо от состояния подключения сокета</li><li><a href="function.stream-socket-server.php">stream_socket_server</a> — Создаёт серверный сокет Internet- или Unix-домена</li><li><a href="function.stream-socket-shutdown.php">stream_socket_shutdown</a> — Закрывает полнодуплексное соединение</li><li><a href="function.stream-supports-lock.php">stream_supports_lock</a> — Определяет, поддерживает ли поток блокировку</li><li><a href="function.stream-wrapper-register.php">stream_wrapper_register</a> — Регистрирует URL-обёртку, которую реализовали как PHP-класс</li><li><a href="function.stream-wrapper-restore.php">stream_wrapper_restore</a> — Восстанавливает отменённую ранее встроенную обёртку</li><li><a href="function.stream-wrapper-unregister.php">stream_wrapper_unregister</a> — Отменяет регистрацию обёртки URL</li></ul></li></ul></div><?php manual_footer($setup); ?>