PHP 实例:PHP 执行、获取远程代码返回:file_get_contents 超时处理的
问题
本文是对执行、获取远程代码返回:
file_get_contents
超时处理的问题进行了详细的分析,
感兴趣的参考下
在实现两个站点间用户数据同步,当使用 php
函数
file_get_contents
抓取执行远程页面时,
如果连接超时将会输出一个 Fatal Error 或相当的慢,结果导致下面的代码不能运行。先了
解一下 PHP
file_get_contents
()
函数
定义和用法
file_get_contents
()
函数把整个文件读入一个字符串中。
和 file()
一样,不同的是
file_get_contents
()
把文件读入一个字符串。
file_get_contents
() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系
统支持,还会使用内存映射技术来增强性能。
语法
file_get_contents
(path,include_path,context,start,max_length)
参数 描述
path
必需。规定要读取的文件。
include_path
可选。如果也想在 include_path
中搜寻文件的话,可以将该参数设为 "1"
。
context
可选。规定文件句柄的环境。
context
是一套可以修改流的行为的选项。若使用 null
,则忽略。
start
可选。规定在文件中开始读取的位置。该参数是 PHP 5.1
新加的。
max_length
可选。规定读取的字节数。该参数是 PHP 5.1
新加的。
说明
对 context
的支持是 PHP 5.0.0
添加的。
针对超时或页面过慢,一般可采取两个解决方案:
一. 利用
file_get_contents
()
第三个参数
代码如下:
$url
= "";
$ctx
= stream_context_create(
array
(
‘http' => array(‘timeout' => 10)
)
);
$result
= @
file_get_contents
(
$url
, 0,
$ctx
);
if
(
$result
){
var_dump(
$result
);
}
else
{