PHP读取网页文件内容的实现代码(fopen,curl等)


Posted in PHP onJune 23, 2011

1.fopen实现代码:

<?php 
$handle = fopen ("http://www.example.com/", "rb"); 
$contents = ""; 
while (!feof($handle)) { 
$contents .= fread($handle, 8192); 
} 
fclose($handle); 
?>

<?php 
// 对 PHP 5 及更高版本 
$handle = fopen("http://www.example.com/", "rb"); 
$contents = stream_get_contents($handle); 
fclose($handle); 
?>

2.curl实现代码:
<?php 
function _url($Date){ 
$ch = curl_init(); 
$timeout = 5; 
curl_setopt ($ch, CURLOPT_URL, "$Date"); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$contents = curl_exec($ch); 
curl_close($ch); 
return $contents; 
} 
$pageURL="http://www.baidu.com"; 
$contents=_url($pageURL); 
?>

编码转换函数
$html = file_get_contents("http://s.3water.com"); 
$html = iconv( "Big5", "UTF-8//IGNORE" , $html); //转化编码方式为UTF8 
print $html; 
$htm = file("http://s.3water.com"); 
$h = ""; 
foreach($htm as $value) 
{ 
$h.= iconv( "GB2312", "utf-8//IGNORE" , $value); 
} 
print_r($h);

另一种打开网页的方法
<?php 
$opts = array( 
'http'=>array( 
'method'=>"GET", 
'header'=>"Accept-language: en\r\n" . 
"Cookie: foo=bar\r\n" 
) 
); 
$context = stream_context_create($opts); 
/* Sends an http request to www.example.com 
with additional headers shown above */ 
$fp = fopen('http://www.baidu.com', 'r', false, $context); 
fpassthru($fp); 
fclose($fp); 
?>
PHP 相关文章推荐
计算2000年01月01日起到指定日的天数
Oct 09 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
PHP新手NOTICE错误常见解决方法
Dec 07 PHP
php数组去重的函数代码
Feb 03 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
May 28 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 PHP
php的优点总结 php有哪些优点
Jul 19 PHP
PHP常量及变量区别原理详解
Aug 14 PHP
PHP执行普通shell命令流程解析
Aug 24 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 #PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 #PHP
php开发过程中关于继承的使用方法分享
Jun 17 #PHP
php设计模式  Command(命令模式)
Jun 17 #PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 #PHP
php smarty 二级分类代码和模版循环例子
Jun 16 #PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 #PHP
You might like
也谈 PHP 和 MYSQL
2006/10/09 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
js图片上传的封装代码
2017/08/01 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
python类装饰器用法实例
2015/06/04 Python
Python3访问并下载网页内容的方法
2015/07/28 Python
python重试装饰器的简单实现方法
2019/01/31 Python
Python读取YAML文件过程详解
2019/12/30 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
python支持多继承吗
2020/06/19 Python
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
车辆年检委托书范本
2014/10/14 职场文书
2014年度个人工作总结
2014/11/07 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
Python matplotlib多个子图绘制整合
2022/04/13 Python