stream_get_contents

(PHP 5, PHP 7, PHP 8)

stream_get_contentsЧитает оставшуюся часть потока в строку

Описание

stream_get_contents(resource $stream, ?int $length = null, int $offset = -1): string|false

Похожа на функцию file_get_contents(), за исключением того, что stream_get_contents() работает с уже открытым ресурсом потока и возвращает оставшуюся часть содержимого в строку размером до length байт и начиная с указанного смещения offset.

Список параметров

stream (resource)

Ресурс потока (например, полученный при помощи функции fopen())

length (int)

Максимальное количество байт для чтения. По умолчанию null (прочитать весь оставшийся буфер).

offset (int)

Перейти к указанному смещению перед чтением. Если это число отрицательное, то переход не произойдёт и чтение начнётся с текущей позиции.

Возвращаемые значения

Возвращает строку или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 length теперь допускает значение null.

Примеры

Пример #1 Пример использования stream_get_contents()

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
// вывести всю страницу начиная со смещения 10
echo stream_get_contents($stream, -1, 10);

fclose($stream);
}


if (
$stream = fopen('http://www.example.net', 'r')) {
// вывести первые 5 байт
echo stream_get_contents($stream, 5);

fclose($stream);
}

?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Замечание:

При указании значения параметра length, отличного от null, эта функция немедленно выделит внутренний буфер такого размера, даже если фактическое содержимое будет значительно короче.

Смотрите также

  • fgets() - Читает строку из файла
  • fread() - Бинарно-безопасное чтение файла
  • fpassthru() - Выводит все оставшиеся данные из файлового указателя