PHP file_get_contents 函数超时的几种解决方法
作者:bea
这里就简单介绍两种: 一、增加超时的时间限制 这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。 我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource $context的timeout参数: 代码如下: $opts = array( ‘http'=>
这里就简单介绍两种:
一、增加超时的时间限制 这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。
我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource $context的timeout参数:
代码如下:
$opts = array(
‘http'=>array(
‘method'=>”GET”,
‘timeout'=>60,
)
);
$context = stream_context_create($opts);
$html =file_get_contents('http://www.example.com', false, $context);
fpassthru($fp);
二、一次有延时的话那就多试几次
有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回 FALSE,所以可以下面这样编写代码:
代码如下:
$cnt=0;
while($cnt < 3 && ($str=@file_get_contents('http…'))===FALSE) $cnt++;
有用 | 无用
一、增加超时的时间限制 这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。
我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource $context的timeout参数:
代码如下:
$opts = array(
‘http'=>array(
‘method'=>”GET”,
‘timeout'=>60,
)
);
$context = stream_context_create($opts);
$html =file_get_contents('http://www.example.com', false, $context);
fpassthru($fp);
二、一次有延时的话那就多试几次
有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回 FALSE,所以可以下面这样编写代码:
代码如下:
$cnt=0;
while($cnt < 3 && ($str=@file_get_contents('http…'))===FALSE) $cnt++;
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
- PHP 翻页 实例代码
- php Sql Server连接失败问题及解决办法
- PHP 数组学习排序全接触
- php_xmlhttp 乱码问题解决方法
- PHP 生成的XML以FLASH获取为乱码终极解决
- php 全局变量范围分析
- PHP 多维数组排序实现代码
- PHP 简单数组排序实现代码
- 用php获取本周,上周,本月,上月,本季度日期的代码
- 一些 PHP 管理系统程序中的后门
- 黑夜路人出的几道php笔试题
- 谈谈新手如何学习PHP 默默经典版本
- 用PHP的ob_start() 控制您的浏览器cache
- 一贴学会PHP 新手入门教程
- php 获得汉字拼音首字母的函数
- PHP 上传文件的方法(类)
- PHP 文章中的远程图片采集到本地的代码
- PHP 中文乱码解决办法总结分析