(PHP 5, PHP 7, PHP 8)
stream_get_contents — Читает оставшуюся часть потока в строку
$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
, эта функция немедленно выделит внутренний буфер такого размера, даже если фактическое содержимое будет значительно короче.