首頁  >  文章  >  後端開發  >  PHP file_get_contents逾時的設定方法

PHP file_get_contents逾時的設定方法

WBOY
WBOY原創
2016-07-25 08:56:17982瀏覽
  1. $opts = array(

  2. 'http'=>array(
  3. 'method'=>"GET",
  4. 'timeout'=>1,//单位秒
  5. )
  6. );

  7. $cnt=0;

  8. while($cnt<3 && ($bb=file_get_contents("http://bbs.it-home.org", false, stream_context_create($opts)))===FALSE) $cnt++;
  9. echo $cnt;
  10. echo $bb;

复制代码

二、一次有延时的话那就多试几次 有时失败是因为网络等因素造成。 可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失 败将返回 FALSE。 例如: $cnt=0; while($cnt”GET”, 是不是能设置成post呢? 例如:

  1. function Post($url, $post = null){

  2. $context = array ();
  3. if (is_array ( $post )) {
  4. ksort ( $post );
  5. $context ['http'] = array (
  6. 'timeout' => 60,
  7. 'method' => 'POST',
  8. 'content' => http_build_query( $post, '', '&' )
  9. );

  10. }

  11. return file_get_contents ( $url, false, stream_context_create ( $context ) );
  12. }

  13. $data = array (

  14. 'name' => 'test',
  15. 'email' => 'admin@admin.com',
  16. 'submit' => 'submit',
  17. );
  18. echo Post ( 'http://bbs.it-home.org', $data );

复制代码

就是这样了,以上的函数还是不错的,同时解决了超时控制与Post传值的问题。



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn