温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP stream_context_create()的作用是什么

发布时间:2022-10-18 16:45:00 来源:亿速云 阅读:271 作者:iii 栏目:编程语言

这篇文章主要介绍“PHP stream_context_create()的作用是什么”,在日常操作中,相信很多人在PHP stream_context_create()的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP stream_context_create()的作用是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。

作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。
函数原型:resource stream_context_create ([ array $options [, array $params ]] )
用法
例子一:

<?php  $opts = array( 'http-->array(  'method'=>"GET",  'header'=>"Accept-language: en\r\n" .  "Cookie: foo=bar\r\n"  )  );  $context = stream_context_create($opts);  $fp = fopen('http://www.jb51.net', 'r', false, $context);  fpassthru($fp);  fclose($fp);  ?>例子二:  <?php  $opts = array( 'http-->array(  'method'=>"GET",  'header'=>"Accept-language: en\r\n" .  "Cookie: foo=bar\r\n"  )  );  $context = stream_context_create($opts);  ?>  You would setup the header this way:  <?php  $opts = array( 'http-->array(  'method'=>"GET",  'header'=>array("Accept-language: en",  "Cookie: foo=bar",  "Custom-Header: value")  )  );  $context = stream_context_create($opts);  ?> 例子三:  <?php  $opts = array('http' => array('proxy' => 'tcp://127.0.0.1:8080', 'request_fulluri' => true));  $context = stream_context_create($opts);  $data = file_get_contents('http://www.jb51.net', false, $context);  echo $data;  ?>    例子四:  <?php  function do_post_request($url, $postdata, $files = null)  {  $data = "";  $boundary = "---------------------".substr(md5(rand(0,32000)), 0, 10);  //Collect Postdata  foreach($postdata as $key => $val)  {  $data .= "--$boundary\n";  $data .= "Content-Disposition: form-data; name=\"".$key."\"\n\n".$val."\n";  }  $data .= "--$boundary\n";  //Collect Filedata  foreach($files as $key => $file)  {  $fileContents = file_get_contents($file['tmp_name']);  $data .= "Content-Disposition: form-data; name=\"{$key}\"; filename=\"{$file['name']}\"\n";  $data .= "Content-Type: image/jpeg\n";  $data .= "Content-Transfer-Encoding: binary\n\n";  $data .= $fileContents."\n";  $data .= "--$boundary--\n";  }  $params = array('http' => array(  'method' => 'POST',  'header' => 'Content-Type: multipart/form-data; boundary='.$boundary,  'content' => $data  ));  $ctx = stream_context_create($params);  $fp = fopen($url, 'rb', false, $ctx);  if (!$fp) {  throw new Exception("Problem with $url, $php_errormsg");  }  $response = @stream_get_contents($fp);  if ($response === false) {  throw new Exception("Problem reading data from $url, $php_errormsg");  }  return $response;  }  //set data (in this example from post)  //sample data  $postdata = array(  'name' => $_POST['name'],  'age' => $_POST['age'],  'sex' => $_POST['sex']  );  //sample image  $files['image'] = $_FILES['image'];  do_post_request("http://www.jb51.net", $postdata, $files);  ?>

到此,关于“PHP stream_context_create()的作用是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI