略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: stream_context_get_default

2024-11-15

stream_context_get_default

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_context_get_defaultRetrieve the default stream context

说明

stream_context_get_default(?array $options = null): resource

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, or null.

返回值

A stream context resource.

更新日志

版本 说明
8.0.0 options is now nullable.

范例

示例 #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);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');

/* Sends a POST request directly to www.example.com
 * Using context options specified in $alternate_opts
 */
readfile('http://www.example.com'false$alternate);

?>

参见

add a noteadd a note

User Contributed Notes 1 note

up
1
RQuadling at GMail dot com
15 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);
?>

官方地址:https://www.php.net/manual/en/function.stream-context-get-default.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3