Ce face stream_context_set_option / stream_context_set_options
stream_context_set_option($context, "http", "timeout", 5) setează o singură opțiune pentru un wrapper. Opțiunile existente rămân, cele cu același nume sunt înlocuite.
Pentru mai multe opțiuni deodată, din PHP 8.3 există stream_context_set_options($context, ["http" => [...]]). Forma veche, stream_context_set_option cu doar două argumente, este depreciată din PHP 8.4.
Parametri
| Parametru | Descriere |
|---|---|
$context |
Contextul modificat. |
$wrapper_or_options |
Numele wrapperului ("http", "ssl"). |
$option_name |
Numele opțiunii. |
$value |
Valoarea opțiunii. |
Ce returnează
Mereu true.
Exemple
Exemplul 1: Câte o opțiune
<?php
$context = stream_context_create();
stream_context_set_option($context, "http", "method", "POST");
stream_context_set_option($context, "http", "timeout", 5);
stream_context_set_option($context, "http", "timeout", 10);
print_r(stream_context_get_options($context));
Rezultat
Array
(
[http] => Array
(
[method] => POST
[timeout] => 10
)
)
Exemplul 2: Mai multe deodată (PHP 8.3+)
<?php
$context = stream_context_create(["http" => ["timeout" => 5]]);
stream_context_set_options($context, [
"http" => ["header" => "Accept: application/json"],
"ssl" => ["verify_peer" => true],
]);
print_r(stream_context_get_options($context));
Rezultat
Array
(
[http] => Array
(
[timeout] => 5
[header] => Accept: application/json
)
[ssl] => Array
(
[verify_peer] => 1
)
)
Greșeli frecvente
- Apelezi
stream_context_set_option($context, ["http" => [...]])cu un tablou. În PHP 8.4+ primeștiDeprecated. Foloseștestream_context_set_options.
Comenzi înrudite
stream_context_create: Creează un set de opțiuni (metodă, antete, timeout) pentru file_get_contents, fopen și alte funcții de fișier.stream_context_get_options: Returnează opțiunile unui context de stream (sau ale contextului folosit de un stream deschis).