PHP Australia Conference 2015

stream_context_get_default

(PHP 5 >= 5.1.0)

stream_context_get_defaultLit le contexte par défaut des flux

Description

resource stream_context_get_default ([ array $options ] )

stream_context_get_default() retourne le contexte par défaut qui est utilisé avec les fonctions de fichiers comme fopen(), file_get_contents(), etc, lorsqu'elles sont utilisées sans paramètre de contexte. Les options du contexte par défaut peuvent être spécifiées optionnellement avec la même syntaxe que pour stream_context_create().

Liste de paramètres

options
options doit être un tableau associatif de tableaux associatifs, au format $arr['wrapper']['option'] = $value.

Note:

Depuis PHP 5.3.0, la fonction stream_context_set_default() peut être utilisée pour configurer le contexte par défaut.

Valeurs de retour

Une resource de contexte de flux.

Exemples

Exemple #1 Exemple avec 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);

/* Envoie une requête GET classique à un serveur proxy 10.54.1.39
 * vers www.example.com, en utilisant les options de contexte spécifiées
 * dans $default_opts
 */
readfile('http://www.example.com');

/* Envoie une requête POST directement à www.example.com
 * Utilise les options de contexte de $alternate_opts
 */
readfile('http://www.example.com'false$alternate);

?>

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
0
RQuadling at GMail dot com
7 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