您的位置:首页 > 编程语言 > PHP开发

file_get_contents函数不能使用的解决方法

2008-08-01 11:23 609 查看
有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents来获取远程web页面的内容(采集和小偷程序常用)。那就是可以使用另外一个函数curl。

下面是file_get_contents和curl两个函数同样功能的不同写法

file_get_contents函数的使用示例: 

PHP代码
< ?php    

$file_contents = file_get_contents('http://www.helloks.com/');    

echo $file_contents;    

?>  

换成curl函数的使用示例: 

PHP代码
< ?php    

$ch = curl_init();    

$timeout = 5;    

curl_setopt ($ch, CURLOPT_URL, 'http://www.helloks.com');    

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);    

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);    

$file_contents = curl_exec($ch);    

curl_close($ch);    

     

echo $file_contents;    

?>  

利用function_exists函数来判断php是否支持一个函数可以轻松写出下面函数

PHP代码
< ?php    

function vita_get_url_content($url) {    

if(function_exists('file_get_contents')) {    

$file_contents = file_get_contents($url);    

} else {    

$ch = curl_init();    

$timeout = 5;    

curl_setopt ($ch, CURLOPT_URL, $url);    

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);    

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);    

$file_contents = curl_exec($ch);    

curl_close($ch);    

}    

return $file_contents;    

}    

?>  

其实上面的这个函数还有待商榷,如果你的主机服务商把file_get_contents和curl都关闭了,上面的函数就会出现错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  file url php function web