PHP file_get_contents()函数的定义和用法
程序员文章站
2022-03-18 08:49:49
...
定义和用法
file_get_contents() 把整个文件读入一个字符串中。
该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。
语法
file_get_contents(path,include_path,context,start,max_length)
参数描述:
path 必需。规定要读取的文件。
include_path 可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 '1'。
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 NULL,则忽略。
start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 中新增的。
max_length 可选。规定读取的字节数。该参数是 PHP 5.1 中新增的。
提示和注释
提示:该函数是二进制安全的。(意思是二进制数据(如图像)和字符数据都可以使用此函数写入。)
实例用法展示:
file_get_contents函数轻松采集html数据:
<?php //全国,判断条件是$REQUEST_URI是否含有html if (!strpos($_SERVER["REQUEST_URI"],".html")) { $page="http://qq.ip138.com/weather/"; $html = file_get_contents($page,'r'); $pattern="/<B>全国主要城市、县当天和未来五天天气趋势预报在线查询<\/B>(.*?)<center style=\"padding\:3px\">/si"; //正则匹配之间的html preg_match($pattern,$html,$pg); echo ""; //正则替换远程地址为本地地址 $p=preg_replace('/\/weather\/(\w+)\/index.htm/', 'tq.php/$1.html', $pg[1]); echo $p; } //省,判断条件是$REQUEST_URI是否含有? else if(!strpos($_SERVER["REQUEST_URI"],"?")){ //yoyo推荐的使用分割获得数据,这里是获得省份名称 $province=explode("/",$_SERVER["REQUEST_URI"]); $province=explode(".",$province[count($province)-1]); $province=$province[0]; //被注释掉的是我自己写出来的正则,感觉写的不好,但效果等同上面 //preg_match('/[^\/]+[\.(html)]$/',$_SERVER["REQUEST_URI"],$pro); //$province=preg_replace('/\.html/','',$pro[0]); $page="http://qq.ip138.com/weather/".$province."/index.htm"; //获取html数据之前先尝试打开页面,防止恶意输入地址导致出错 if (!@fopen($page, "r")) { die("对不起,该地址不存在!<a href=javascript:history.back(1)>点击这里返回</a>"); exit(0); } $html = file_get_contents($page,'r'); $pattern="/五天天气趋势预报<\/B>(.*?)请输入输入市/si"; preg_match($pattern,$html,$pg); echo ""; //正则替换,获取省份,城市 $p=preg_replace('/\/weather\/(\w+)\/(\w+).htm/', '$2.html?pro=$1', $pg[1]); echo $p; } else { //市,通过get传递省份 $pro=$_REQUEST['pro']; $city=explode("/",$_SERVER["REQUEST_URI"]); $city=explode(".",$city[count($city)-1]); $city=$city[0]; //preg_match('/[^\/]+[\.(html)]+[\?]/',$_SERVER["REQUEST_URI"],$cit); //$city=preg_replace('/\.html\?/','',$cit[0]); $page="http://qq.ip138.com/weather/".$pro."/".$city.".htm"; if (!@fopen($page, "r")) { die("对不起,该地址不存在!<a href=javascript:history.back(1)>点击这里返回</a>"); exit(0); } $html = file_get_contents($page,'r'); $pattern="/五天天气趋势预报<\/B>(.*?)请输入输入市/si"; preg_match($pattern,$html,$pg); echo ""; //获取真实的图片地址 $p=preg_replace('/\/image\//', 'http://qq.ip138.com/image/', $pg[1]); echo $p; } ?>
以上就是PHP file_get_contents()函数的定义和用法的详细内容,更多请关注其它相关文章!
推荐阅读
-
PHP file_get_contents函数读取远程数据超时的解决方法
-
如何使用PHP实现javascript的escape和unescape函数
-
php取整函数ceil,floo,round的用法及介绍
-
PHP 预定义变量、魔术常量和魔术方法功能与用法小结
-
PHP explode()函数的几个应用和implode()函数有什么区别
-
SQL Server FOR XML PATH 和 STUFF函数的用法
-
PHP生成自定义长度随机字符串的函数分享
-
解析php session_set_save_handler 函数的用法(mysql)
-
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
-
PHP项目开发中最常用的自定义函数整理