Nov
21
Функции для работы с потоками
Функции для работы с потоками
Содержание
- set_socket_blocking — Псевдоним stream_set_blocking
- stream_bucket_append — Добавление бакета в цепочку
- stream_bucket_make_writeable — Вернуть ссылку на бакет в цепочке для дальнейшей работы с ним
- stream_bucket_new — Создать новый бакет для использования с текущим потоком
- stream_bucket_prepend — Присоединить бакет в начало цепочки
- stream_context_create — Создаёт контекст потока
- stream_context_get_default — Получает контекст потока по умолчанию
- stream_context_get_options — Получает настройки для потока/обёртки/контекста
- stream_context_get_params — Извлекает параметры из контекста
- stream_context_set_default — Устанавливает контекст потоков по умолчанию
- stream_context_set_option — Устанавливает опцию для потока/обёртки/контекста
- stream_context_set_params — Устанавливает параметры для потока/обертки/контекста
- stream_copy_to_stream — Копирует данные из одного потока в другой
- stream_encoding — Устанавливает кодировку для потока
- stream_filter_append — Прикрепляет фильтр к потоку
- stream_filter_prepend — Прикрепляет фильтр к потоку
- stream_filter_register — Регистрирует потоковый фильтр, определённый пользователем
- stream_filter_remove — Удаляет фильтр из потока
- stream_get_contents — Читает оставшуюся часть потока в строку
- stream_get_filters — Извлекает список зарегистрированных фильтров
- stream_get_line — Получает строку из потокового ресурса до указанного разделителя
- stream_get_meta_data — Извлекает заголовок/метаданные из потоков/файловых указателей
- stream_get_transports — Возвращает список зарегистрированных транспортов сокета
- stream_get_wrappers — Извлекает список зарегистрированных потоков
- stream_is_local — Проверяет, является ли поток локальным потоком
- stream_notification_callback — Callback-функция для параметра контекста notification
- stream_register_wrapper — Псевдоним stream_wrapper_register
- stream_resolve_include_path — Составляет полное имя файла, используя пути включения
- stream_select — Запускает эквивалент системного вызова select() на заданных массивах
потоков с таймаутом, указанным параметрами tv_sec и tv_usec
- stream_set_blocking — Устанавливает блокирующий/неблокирующий режим на потоке
- stream_set_chunk_size — Задание размера фрагмента данных потока
- stream_set_read_buffer — Устанавливает буферизацию чтения файла на указанном потоке
- stream_set_timeout — Устанавливает значение тайм-аута на потоке
- stream_set_write_buffer — Устанавливает буферизацию файла при записи в указанный поток
- stream_socket_accept — Принимает соединение на сокете, созданном c помощью функции stream_socket_server
- stream_socket_client — Открывает соединение с интернет-сокетом или с доменным сокетом Unix
- stream_socket_enable_crypto — Включает или отключает шифрование на уже подсоединённом сокете
- stream_socket_get_name — Извлекает название локального или удалённого сокета
- stream_socket_pair — Создаёт пару связанных неразличимых потоковых сокетов
- stream_socket_recvfrom — Получает данные из сокета, подсоединённого или нет
- stream_socket_sendto — Отправляет сообщение в сокет, независимо от того, подсоединён он или нет
- stream_socket_server — Создаёт интернет-сокет или доменный сокет Unix
- stream_socket_shutdown — Закрывает полнодуплексное соединение
- stream_supports_lock — Определяет, поддерживает ли поток блокировку
- stream_wrapper_register — Регистрирует обёртку URL, реализованную в виде PHP-класса
- stream_wrapper_restore — Восстанавливает ранее разрегистрированную встроенную обёртку
- stream_wrapper_unregister — Отменяет регистрацию обертки URL
Коментарии
I can't find any real documentation on the quoted-printable-encode stream filter, but I've gathered info from several places. It seems there are 4 options that can be passed in the param array as in my other note on this subject:
line-length: integer, simply sets line length before a soft break is inserted
line-break-chars: Which char or chars to consider as a line break - note that "\r\n" will only match CRLF, not CR or LF, so make sure it matches your content.
binary: boolean, hex encodes all control chars, including spaces and line breaks, but leaves alphanumerics untouched
force-encode-first: Forcibly hex-encodes the first char on each line, even if it's alphanumeric. This is useful for avoiding corruption in some incompetent mail servers, like Exchange.