PHP 8.3.4 Released!

stream_context_get_default

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_context_get_defaultПолучает контекст потока по умолчанию

Описание

stream_context_get_default(?array $options = null): resource

Возвращает контекст потока по умолчанию, который используется в любых файловых операциях (fopen(), file_get_contents() и т.д.), вызванных без параметра контекста. Опции для контекста по умолчанию могут быть опционально указаны с помощью этой функцией используя тот же синтаксис, что и для stream_context_create().

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

options
options должен быть ассоциативным массивом ассоциативных массивов в формате $arr['wrapper']['option'] = $value или null.

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

Ресурс (resource) контекста потока.

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

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

Примеры

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

<?php
$default_opts
= array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar",
'proxy'=>"tcp://10.54.1.39:8000"
)
);


$alternate_opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
"Content-length: " . strlen("baz=bomb"),
'content'=>"baz=bomb"
)
);

$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);

/* Отправляет обычный GET-запрос на прокси-сервер 10.54.1.39
* Для www.example.com используются опции контекста, указанные в $default_opts
*/
readfile('http://www.example.com');

/* Отправляет POST-запрос напрямую к www.example.com
* Используемые опции контекста определены в $alternate_opts
*/
readfile('http://www.example.com', false, $alternate);

?>

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

add a note

User Contributed Notes 1 note

up
1
RQuadling at GMail dot com
17 years ago
If you are using stream_context_get_default() and are still finding that some functions do not work, make sure that they are not based upon the libxml functions (DOM, SimpleXML and XSLT). These require their own context.

You can easily set them using the following code ...

<?php
// Define the default, system-wide context.
$r_default_context = stream_context_get_default
(
array
(
'http' => array
(
// All HTTP requests are passed through the local NTLM proxy server on port 8080.
'proxy' => 'tcp://127.0.0.1:8080',
'request_fulluri' => True,
),
)
);

// Though we said system wide, some extensions need a little coaxing.
libxml_set_streams_context($r_default_context);
?>
To Top