background image

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