文字

stream_context_get_default

(PHP 5 >= 5.1.0)

stream_context_get_defaultRetrieve the default stream context

说明

resource stream_context_get_default ([ array $options ] )

Returns the default stream context which is used whenever file operations ( fopen() , file_get_contents() , etc...) are called without a context parameter. Options for the default context can optionally be specified with this function using the same syntax as stream_context_create() .

参数

options
options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Note:

As of PHP 5.3.0, the stream_context_set_default() function can be used to set the default context.

返回值

A stream context resource .

范例

Example #1 Using 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 );


readfile ( 'http://www.example.com' );


readfile ( 'http://www.example.com' false $alternate );

?>

参见

  • stream_context_create() - 创建资源流上下文
  • Listing of supported wrappers with context options (支持的协议和封装协议).

用户评论:

[#1] RQuadling at GMail dot com [2007-01-02 01:02:46]

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);
?>

上一篇: 下一篇: