Usare gli stream context in PHP

Mattepuffo's logo
Usare gli stream context in PHP

Usare gli stream context in PHP

Gli stream context possono essere utilizzati in diversi modi e per diversi scopi.

Nel mio caso specifico mi è servito per far si che lo script PHP non si interrompesse nel caso di un flusso dati troppo grande.

In sostanza ho degli script che si agganciano ad un web service REST, ed elaborano il JSON inviato.

Questo JSON, in aluni casi, si è rivelato troppo grande, e causava l'interruzione dell script.

Agganciandolo alla funzione file_get_contents, che è quella che effettivamente recupera il JSON, ho risolto.

Ecco un esempio:

    $url = '..........';
    $streamContext = stream_context_create(array(
        'http' => array(
            'timeout' => 800  // 5 Minuti
        ))
    );
    $result = file_get_contents($url, FALSE, $streamContext);
    $json = json_decode($result, TRUE);

In questo modo, con la funzione stream_context_create, ho settato un timeout più grande (5 minuti), e lo script non si blocca più.

Nella documentazione ufficiale trovate altri esempi.

Enjoy!


Condividi

Commentami!