php Stream Contexts 小记

摘自于手册
上下文是修改或增强流的行为的一组参数和包装器特定选项。 上下文使用stream_context_create()创建,并且可以传递到大多数与文件系统相关的流创建函数(即fopen()file()file_get_contents()get_headers()等)。

当调用stream_context_create()或稍后使用stream_context_set_option()时,可以指定选项。 在上下文(Context)选项和参数一章中可以找到包装器特定选项的列表。

可以使用stream_context_set_params()函数为上下文指定参数。

get_headersfile_get_contents为例:

1.       get_headers

场景:需要获取URL的返回状态码,且访问超时的设定

 

$url = 'http://localhost:8000/test/contexts/get_headers_t.php';

stream_context_set_default(
    array(
        'http' => array(
            'method' => 'GET',
            'timeout' => 1,
            'header' => "Content-type: application/x-www-form-urlencoded",
        )
    )
);

$headers = get_headers($url);

 

2.       file_get_contents

场景:获取文件内容的超时时间设定

 

$url = 'http://localhost:8000/test/contexts/file_get_contents_t.php';
$contexts = stream_context_create(
    array(
        'http' => array(
            'method' => 'GET',
            'timeout'=> 1,
            'header' => "Content-type: application/x-www-form-urlencoded"
        )
    )
);
$headers = file_get_contents($url, false, $contexts);

 

以上只是使用HTTP context的一些选项,更多选项参考:上下文(Context)选项和参数

 

 

php Stream Contexts 小记

原文地址:https://www.cnblogs.com/wangyulu/p/6546567.html