深入file_get_contents与curl函数的详解


Posted in PHP onJune 25, 2013

有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents来获取远程web页面的内容。那就是可以使用另外一个函数curl。
下面是file_get_contents和curl两个函数同样功能的不同写法
file_get_contents函数的使用示例:

< ?php
$file_contents = file_get_contents('https://3water.com');
echo $file_contents;
?>

换成curl函数的使用示例:
< ?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, 'https://3water.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
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都关闭了,上面的函数就会出现错误。
PHP 相关文章推荐
PHP4之COOKIE支持详解
Oct 09 PHP
用PHP中的 == 运算符进行字符串比较
Nov 26 PHP
PHP可逆加密/解密函数分享
Sep 25 PHP
php使用百度ping服务代码实例
Jun 19 PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 PHP
php中session与cookie的比较
Jan 27 PHP
php比较相似字符串的方法
Jun 05 PHP
php单链表实现代码分享
Jul 04 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
Sep 19 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
Thinkphp页面跳转设置跳转等待时间的操作
Oct 16 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 #PHP
解析php入库和出库
Jun 25 #PHP
解析php下载远程图片函数 可伪造来路
Jun 25 #PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 #PHP
使用dump函数,给php加断点测试
Jun 25 #PHP
解析php多线程下载远程多个文件
Jun 25 #PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 #PHP
You might like
ftp类(example.php)
2006/10/09 PHP
ThinkPHP模板自定义标签使用方法
2014/06/26 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
2017/02/24 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
Python中无限元素列表的实现方法
2014/08/18 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
基于python实现模拟数据结构模型
2020/06/12 Python
jupyter 添加不同内核的操作
2021/02/06 Python
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
小学教师办公室制度
2014/02/03 职场文书
护士自我鉴定总结
2014/03/24 职场文书
同学聚会策划方案
2014/06/06 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
2014年平安夜寄语
2014/12/08 职场文书
节水倡议书
2015/01/19 职场文书
资料员岗位职责
2015/02/10 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
React Fragment介绍与使用详解
2021/11/11 Javascript
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS