关于file_get_contents函数超时的解决方法
今天在测试天气预报系统的时候发现一个问题,就是在网络状况比较差的情况下file_get_contents函数经常读取远程数据失败。经过Google和自己的一番测试,解决方案如下:
<?php /*设置超时配合失败之后尝试多次读取,效果比原先好很多*/ $opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=>1, //设置超时 ) ); $context = stream_context_create($opts); $cnt=1; //最多尝试10次读取 while(($contents = @file_get_contents("$url",false,$context)) === false && $cnt <= 10 ) $cnt++; ?> |