stream_context_create創建并返回一個文本數據流并應用各種選項,可用于fopen(),file_get_contents()等過程的超時設置、代理服務器、請求方式、頭信息設置的特殊過程.
函數原型:resource stream_context_create ([array $options [,array $params ]] ),看個實例:
- //定義options數組
- $opts=array
- (
- 'http'=>array
- (
- 'method'=>"get",
- 'header'=>"accept-language: enrn"."cookie: foo=barrn"
- )
- );
- //創建數據流上下文
- $context=stream_context_create($opts);
- /*向指定地址發送http請求
- 請求中包含附加的頭部信息*/
- $fp=fopen('http://www.111cn.net','r',false,$context);
- //輸出文件指針處的所有數據
- fpassthru($fp);
- //關閉文件
- fclose($fp);
- /*
- //該代碼的輸出結果為:即請求的cookie值
- array
- (
- [foo] => bar
- )
- */
實例二,代碼如下:
- $default_opts=array
- (
- 'http'=>array
- (
- 'method'=>"get",
- 'header'=>"accept-language: enrn"."cookie: foo=bar",
- 'proxy'=>"tcp://10.54.1.39:8000"
- )
- );
- $alternate_opts=array
- (
- 'http'=>array
- (
- 'method'=>"post",
- 'header'=>"content-type: application/x-www-form-urlencodedrn"."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.companysz.com using context options specified in $default_opts
- */
- readfile('http://www.companysz.com');
- /* sends a post request directly to www.companysz.com
- * using context options specified in $alternate_opts
- */
- readfile('http://www.companysz.com', false, $alternate);
新聞熱點
疑難解答