深入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 相关文章推荐
用函数读出数据表内容放入二维数组
Oct 09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
色色整理的PHP面试题集锦
Mar 08 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
php有效防止同一用户多次登录
Nov 19 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
PHP代码加密的方法总结
Mar 13 PHP
php array_map()函数实例用法
Mar 03 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
留言板翻页的实现详解
2006/10/09 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
php集成动态口令认证
2016/07/21 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python 中@property的用法详解
2020/01/15 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
薪酬专员岗位职责
2014/02/18 职场文书
党支部书记岗位职责
2015/02/15 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
申请吧主发表的感言
2015/08/03 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python