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 相关文章推荐
php实现单链表的实例代码
Mar 22 PHP
学习php分页代码实例
Oct 24 PHP
CodeIgniter使用smtp服务发送html邮件的方法
Jun 10 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
jquery不支持toggle()高(新)版本的问题解决
Sep 24 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
Laravel中10个有用的用法小结
May 06 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
Laravel手动返回错误码示例
Oct 22 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 PHP
详解PHP设计模式之依赖注入模式
May 25 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数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
PHP数据过滤的方法
2013/10/30 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
Django中的CBV和FBV示例介绍
2018/02/25 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
详解python做UI界面的方法
2019/02/27 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
业务副厂长岗位职责
2014/01/03 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
干部年终考核评语
2015/01/04 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
Redis RDB技术底层原理详解
2021/09/04 Redis