PHP中获取某个网页或文件内容的方法
2016-04-10 12:16
477 查看
1. 通过file_get_contents()函数
$contents = file_get_contents('http://demo.com/index.php');
echo $contents;
2. 通过fopen()和fread()函数
$handle = fopen('http://demo.com/index.php', 'r'); // 以只读方式打开文件并将指针指向文件头,资源类型
$contents = '';
while (!feof($handle)){ // 判断文件指针是否到了文件的末尾
$contents .= fread($handle, 1024); // 每次读取1024个字节的数据
}
fclose($handle); // 关闭文件
echo $contents;
3. 通过php的curl扩展库
// 创建一个curl会话资源
$ch = curl_init();
// 设置curl相应的选项
curl_setopt($ch, CURLOPT_URL, "http://demo.com/index.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行curl
$contents = curl_exec($ch);
// 关闭curl会话
curl_close($ch);
echo $contents;
总结:
php中获取文件内容的方法有很多种,这里只列举了常用的三种,推荐使用第三种方法(curl抓取方式),curl是模拟浏览器的操作,效率比前两种方法要高,而且支持很多选项设置,操作起来更加灵活。不足之处是,curl方式必须要有php的curl扩展库的支持。
关于curl方式的更加详细的用法,可以参考/article/10409719.html和php的官方手册。
$contents = file_get_contents('http://demo.com/index.php');
echo $contents;
2. 通过fopen()和fread()函数
$handle = fopen('http://demo.com/index.php', 'r'); // 以只读方式打开文件并将指针指向文件头,资源类型
$contents = '';
while (!feof($handle)){ // 判断文件指针是否到了文件的末尾
$contents .= fread($handle, 1024); // 每次读取1024个字节的数据
}
fclose($handle); // 关闭文件
echo $contents;
3. 通过php的curl扩展库
// 创建一个curl会话资源
$ch = curl_init();
// 设置curl相应的选项
curl_setopt($ch, CURLOPT_URL, "http://demo.com/index.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行curl
$contents = curl_exec($ch);
// 关闭curl会话
curl_close($ch);
echo $contents;
总结:
php中获取文件内容的方法有很多种,这里只列举了常用的三种,推荐使用第三种方法(curl抓取方式),curl是模拟浏览器的操作,效率比前两种方法要高,而且支持很多选项设置,操作起来更加灵活。不足之处是,curl方式必须要有php的curl扩展库的支持。
关于curl方式的更加详细的用法,可以参考/article/10409719.html和php的官方手册。
相关文章推荐
- js2php js转php的使用小结
- 关于phpcmsv9更新缓存出现链接被重置的问题
- PHP_D4_“简易聊天室 ”的具体技术实现
- PHP琐碎学习
- WebStorm 11、PhpStorm 10免费激活(不需要注册码)
- tftp的问题
- 【干货】PHP项目中CodeIgniter使用的一些建议
- PHP序列化与反序列化的使用
- PHP文件处理的高级应用
- php输出echo、print、print_r、printf、sprintf、var_dump比较
- PHP 相关配置
- zend stuido 12.5的插件安装和xdebug调试器的配置和和配置注意
- php基础留言板的注意细节(使用txt做简单的数据库)。
- php_D3_“简易聊天室 ”实现的关键技术 详解
- PHP设计模式——訪问者模式
- php去掉字符串的最后一个字符附substr()和mb_substr()的用法
- Wamp mysql启动不了,phpAdmin显示#2002无法连接服务器
- php实现生成验证码实例分享
- PHP isset()与empty()的使用区别详解
- yii2使用相关记录