PHP.mk документација

stream_get_contents

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.stream-get-contents.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.stream-get-contents.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
stream_get_contents

Референца за `function.stream-get-contents.php` со подобрена типографија и навигација.

function.stream-get-contents.php

stream_get_contents

класата mysqli_driver

stream_get_contentsЧита преостанатиот дел од стримот во стринг

= NULL

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 при неуспех.

Дневник на промени

Верзија = NULL
8.0.0 length сега е null.

Примери

Пример #1 stream_get_contents() example

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
// print all the page starting at the offset 10
echo stream_get_contents($stream, -1, 10);

fclose($stream);
}


if (
$stream = fopen('http://www.example.net', 'r')) {
// print the first 5 bytes
echo stream_get_contents($stream, 5);

fclose($stream);
}

?>

Белешки

Забелешка: Пример #4 Користење на контексти на потоци

Забелешка:

Кога се специфицира length вредност различна од null, оваа функција веднаш ќе распредели внатрешен бафер со таа големина, дури и ако вистинската содржина е значително пократка.

Види Исто така

  • fgets() - Затвора отворена датотека
  • fread() - Зема ред од датотека
  • fpassthru() - Излезни сите преостанати податоци на покажувачот на датотека

Белешки од корисници 3 белешки

clarck dot smith at gmail dot com
пред 14 години
In that case when stream_get_contents/fread/fgets or other stream reading functions block indefinitely your script because they don't reached the limit of bytes to read use the socket_get_meta_data function to figure out the number of the bytes to read. It returns an array that contains a key named 'unread_bytes' and then pass that number to your favourite stream reading functions second parameter to read from the stream.

Maybe a good workaround to use the stream_select function, and set the socket to non-blocking mode with the use of stream_set_blocking($stream, 0). In this case the socket reading functions work properly.

Cheers, Ervin
m rahman
пред 15 години
When omitting the parameter $maxlength, any received bytes are stacked up until the underlying stream is not readable anymore, the the function returns that stack in one piece.
jure dot sah at t-2 dot com
пред 9 месеци
In my case this is acting a little unpredictable, which may occur in your case as well depending on how the streams are set up.

This can be resolved by using the offset 0 (rather than the default -1), to ensure your streams are always read from the start, rather than the current position.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.