深入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 相关文章推荐
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
说明的比较细的php 正则学习实例
Jul 30 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
php增删改查示例自己写的demo
Sep 04 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 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
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
Python获取系统默认字符编码的方法
2015/06/04 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
政府门卫岗位职责
2014/04/29 职场文书
应届生求职信范文
2014/05/26 职场文书
酒店开业策划方案
2014/06/02 职场文书
学校读书活动总结
2014/06/30 职场文书
淘宝好评语句大全
2014/12/31 职场文书
世界文化遗产导游词
2015/02/13 职场文书
个人催款函范文
2015/06/24 职场文书
靠谱的活动总结
2019/04/16 职场文书
入党转正申请书范文
2019/05/20 职场文书
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript