stream_context_get_options în PHP

Stream-uri PHP 4.3+

Returnează opțiunile unui context de stream (sau ale contextului folosit de un stream deschis).

Sintaxă
stream_context_get_options($stream_or_context): array

Ce face stream_context_get_options

stream_context_get_options îți arată opțiunile puse cu stream_context_create sau stream_context_set_option, grupate pe wrapper: http, ssl, ftp.

Primește fie contextul, fie un stream deschis cu acel context (o conexiune de rețea sau o adresă web; fișierele locale nu păstrează contextul). Este folosită mai ales la depanare, ca să vezi ce setări ajung de fapt la cerere.

Parametri

Parametru Descriere
$stream_or_context Un context creat cu stream_context_create sau un stream deschis.

Ce returnează

Un tablou asociativ cu opțiunile, gol dacă nu există niciuna.

Exemple

Exemplul 1: Opțiunile unui context

<?php
$context = stream_context_create([
    "http" => ["method" => "POST", "timeout" => 5],
]);

print_r(stream_context_get_options($context));

Rezultat

Array
(
    [http] => Array
        (
            [method] => POST
            [timeout] => 5
        )

)

Exemplul 2: Opțiunile citite dintr-o conexiune

Contextul rămâne atașat conexiunilor de rețea, așa că opțiunile pot fi citite din stream. Fișierele locale nu păstrează contextul și returnează un tablou gol.

<?php
$server = stream_socket_server("tcp://127.0.0.1:0");
$context = stream_context_create(["socket" => ["tcp_nodelay" => true]]);

$client = stream_socket_client("tcp://" . stream_socket_get_name($server, false), $cod, $mesaj, 2, STREAM_CLIENT_CONNECT, $context);
print_r(stream_context_get_options($client));

file_put_contents("nota.txt", "Salut");
print_r(stream_context_get_options(fopen("nota.txt", "r", false, $context)));

Rezultat

Array
(
    [socket] => Array
        (
            [tcp_nodelay] => 1
        )

)
Array
(
)

Greșeli frecvente

  • Aștepți să vezi valorile implicite (de exemplu timeout-ul de 60 de secunde). Funcția arată doar opțiunile setate explicit.

Comenzi înrudite