stream_context_get_default / stream_context_set_default în PHP

Stream-uri PHP 5.1+ (stream_context_set_default: PHP 5.3+)

Returnează contextul implicit, folosit de funcțiile de fișier când nu primesc context, și îl modifică.

Sintaxă
stream_context_get_default(?array $options = null)

Ce face stream_context_get_default / stream_context_set_default

Când apelezi file_get_contents($url) fără context, PHP folosește contextul implicit. stream_context_set_default îi setează opțiuni, care se aplică apoi tuturor cererilor din script care nu primesc alt context: un User-Agent comun, un timeout, un proxy.

stream_context_get_default returnează acest context. Dacă îi dai un tablou de opțiuni, le adaugă înainte să-l returneze.

Parametri

Parametru Descriere
$options Opțional. Opțiuni adăugate la contextul implicit, ca la stream_context_create.

Ce returnează

Resursa contextului implicit (la ambele funcții).

Exemple

Exemplul 1: Un User-Agent pentru toate cererile

La început contextul implicit nu are opțiuni. După stream_context_set_default, orice file_get_contents fără context trimite antetul ales.

<?php
var_dump(stream_context_get_options(stream_context_get_default()));

stream_context_set_default([
    "http" => ["user_agent" => "BlogulAnei/1.0", "timeout" => 10],
]);

print_r(stream_context_get_options(stream_context_get_default()));

Rezultat

array(0) {
}
Array
(
    [http] => Array
        (
            [user_agent] => BlogulAnei/1.0
            [timeout] => 10
        )

)

Greșeli frecvente

  • Setezi contextul implicit într-o bibliotecă. Schimbarea afectează toate cererile din script, inclusiv pe ale altui cod. Dă un context propriu fiecărui apel.

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).
  • file_get_contents: Citește tot conținutul unui fișier (sau al unei adrese URL) într-un text.