千家信息网

PHP内置访问资源的超时时间time_out file_get_contents read_file怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了PHP内置访问资源的超时时间time_out file_get_contents read_file怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收
千家信息网最后更新 2026年11月02日PHP内置访问资源的超时时间time_out file_get_contents read_file怎么用

这篇文章主要介绍了PHP内置访问资源的超时时间time_out file_get_contents read_file怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

提问
我循环用file_get_contents抓取一堆url,但总是会在不到第100个URL的时候停下,提示我:"Warning: file_get_contents(URL) [function.file-get-
contents]: failed to open stream: HTTP request failed! HTTP/1.0 500 Read timed out
in D:\website\extra.php on line 65"
我在程序的开始已经有set_time_limit(0);了啊,那上面的错误会是因为什么呢?
回答
set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。
从警告信息来看,是被抓取的网页出现了服务器500错误,可能是他的程序出现超时了。
如果想改变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);


这样readfile函数的超时时间就设置成了10秒,如果你够细心的话,还会发现数组中还有一些其他的配置,第一维中的http是指定使用的网络协议,二维中的method批的是http的请求方法get,post,head等,timeout就是超时时间了。我想很多人会使用php内置的file_get_contents函数来下载网页,因为这个函数使用起来够简单。很多人也都很简单的使用它,只要传递一个链接它就可以自动的发送get请求,并将网页内容下载下来。如果比较复杂的情况,比如使用POST请求,使用代理下载,定义User-Agent等等,这时很多人就会认为这个函数做不了这样的事情,就会选择其他方式,如curl,来实现。实际上,这些事情file_get_contents也可以做到,
就是通过它的第三个参数,设置http请求的context。
支持的设置和使用方式见官方说明:http://www.php.net/manual/en/context.http.php
附:目前我知道的支持context参数的php内置函数有file_get_contents,file_put_contents,readfile,file,fopen,copy(估计这一类的函数都支持吧,待确认)。

复制代码 代码如下:


function Post($url, $post = null)
{
$context = array();
if (is_array($post))
{
ksort($post);
$context['http'] = array
(
'timeout'=>60,
'method' => 'POST',
'content' => http_build_query($post, '', '&'),
);
}
return file_get_contents($url, false, stream_context_create($context));
}
$data = array
(
'name' => 'test',
'email' => 'test@gmail.com',
'submit' => 'submit',
);
echo Post('http://www.yifu.info', $data);


OK , 上面函数完美了,既解决了超时控制又解决了Post传值。再配合康盛的改良版RC4加密解密算法,做一个安全性很高的webservice就简单多了。

感谢你能够认真阅读完这篇文章,希望小编分享的"PHP内置访问资源的超时时间time_out file_get_contents read_file怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

函数 时间 篇文章 支持 代码 参数 程序 网页 资源 事情 就是 方式 复杂 细心 三个 价值 兴趣 加密解密 只是 同时 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 深圳恒合互联网络科技有限公司 互联网科技卖菜 互联网医疗科技 互联网科技公司发展 齐家互联网科技 奇酷互联网络科技 丰台科技园 互联网 互联网科技类展会 华中科技有哪些互联网大佬 洛阳昕诺飞互联网科技有限公司 互联网科技大奖都有哪些公司 互联网公司黑科技创始人 互联网时代的科技公司 上海京穆互联网科技有限公司 富国互联网科技002692 广州燕处互联网科技有限公司 互联网金融运营模式中的金融科技 互联网科技创新方面的资料 山东亿川互联网科技有限责任公司 深圳市人人互联网科技有限公司 金融科技创新监管互联网金融 致骋互联网科技 赫美联合互联网科技 上海亿帐通互联网科技 深圳国际航运科技和互联网 成都互联网科技公司100强 烟台灵鸽互联网科技有限公司 米泉互联网科技专业怎么样 安徽零酒互联网科技有限公司
0