深入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 相关文章推荐
模拟OICQ的实现思路和核心程序(二)
Oct 09 PHP
完美解决PHP中文乱码
Nov 26 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
php中用于检测一个地理IP地址是否可用的代码
Feb 19 PHP
PHP+MYSQL会员系统的开发实例教程
Aug 23 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
php实现图片局部打马赛克的方法
Feb 11 PHP
php获取访问者IP地址汇总
Apr 24 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
Yii2汉字转拼音类的实例代码
Apr 18 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
PHP iconv 函数转gb2312的bug解决方法
2009/10/11 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
python合并文本文件示例
2014/02/07 Python
Web服务器框架 Tornado简介
2014/07/16 Python
python将字符串转换成数组的方法
2015/04/29 Python
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
python 重命名轴索引的方法
2018/11/10 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
使用python3实现操作串口详解
2019/01/01 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
python def 定义函数,调用函数方式
2020/06/02 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
大学生饮食连锁店创业计划书
2014/01/17 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
爱晚亭导游词
2015/02/09 职场文书
创业计划书之酒吧
2019/12/02 职场文书
python编程项目中线上问题排查与解决
2021/11/01 Python
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers