fopen()、 file_get_contents() 通过url获取链接内容
2016-03-24 11:48
429 查看
功能:获得网页内容
区别如下:
fopen()打开URL
下面是一个使用fopen()打开URL的例子:
<?php
$fh = fopen('http://www.baidu.com/', 'r');
if($fh){
while(!feof($fh)) {
echo fgets($fh);
}
}
?>
从此例子可以看到,fopen()打开网页后,返回的$fh不是字符串,不能直输出的,还需要用到fgets()这个函数来获取字符串。fgets()函数是从文件指针中读取一行。文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
可知,fopen()返回的只是一个资源,如果打开失败,本函数返回 FALSE 。
file_get_contents()打开URL
下面是一个使用file_get_contents()打开URL的例子:
<?php
$fh= file_get_contents('http://www.baidu.com/');
echo $fh;
?>
从此例子看到,file_get_contents()打开网页后,返回的$fh是一个字符串,可以直接输出的。
通过上面两个例子的对比,可以看出使用file_get_contents()打开URL,也许是更多人的选择,因为其比fopen()更简单便捷。
不过,如果是读取比较大的资源,则是用fopen()比较合适。
区别如下:
fopen()打开URL
下面是一个使用fopen()打开URL的例子:
<?php
$fh = fopen('http://www.baidu.com/', 'r');
if($fh){
while(!feof($fh)) {
echo fgets($fh);
}
}
?>
从此例子可以看到,fopen()打开网页后,返回的$fh不是字符串,不能直输出的,还需要用到fgets()这个函数来获取字符串。fgets()函数是从文件指针中读取一行。文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
可知,fopen()返回的只是一个资源,如果打开失败,本函数返回 FALSE 。
file_get_contents()打开URL
下面是一个使用file_get_contents()打开URL的例子:
<?php
$fh= file_get_contents('http://www.baidu.com/');
echo $fh;
?>
从此例子看到,file_get_contents()打开网页后,返回的$fh是一个字符串,可以直接输出的。
通过上面两个例子的对比,可以看出使用file_get_contents()打开URL,也许是更多人的选择,因为其比fopen()更简单便捷。
不过,如果是读取比较大的资源,则是用fopen()比较合适。
相关文章推荐
- 3.23linux内核编译学习
- CentOS parted分割大于2TB硬盘的performance问题处理
- Linux平台搭建Jenkins+Maven+Shell实现自动化构建部署
- 关于在CentOS中使用gdb出现debuginfos调试信息
- IPTABLES 规则(Rules)
- hadoop详细了解5个进程的作用
- Linux内核Radix Tree
- Linux(CentOS7.0)下 C访问MySQL的各种坑!!!
- 《Linux内核设计与实现》 第十八章学习笔记
- suse 安装 nginx
- 底层文件I/O操作---open()函数
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- 基于Flume的美团日志收集系统(一)架构和设计
- Linux下基本的查找命令和查看信息
- docker[未完待续]
- Windows Server里80端口与多IP绑定(可实现IIS与Apache共享80端口)
- 学习mongo系列(十二)修改器($inc/$set/$unset/$push/$pop/upsert)
- CentOS7使用yum安装ceph rpm包
- Could not find Developer Disk Image
- 解决The operation couldn’t be completed. (LaunchServicesError error 0.)