Home  >  Article  >  Backend Development  >  Definition and usage of PHP file_get_contents() function

Definition and usage of PHP file_get_contents() function

巴扎黑
巴扎黑Original
2017-05-24 14:25:023379browse

定义和用法

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,&#39;r&#39;); 
$pattern="/<B>全国主要城市、县当天和未来五天天气趋势预报在线查询<\/B>(.*?)<center style=\"padding\:3px\">/si"; 
//正则匹配之间的html 
preg_match($pattern,$html,$pg); 
echo ""; 
//正则替换远程地址为本地地址 
$p=preg_replace(&#39;/\/weather\/(\w+)\/index.htm/&#39;, &#39;tq.php/$1.html&#39;, $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(&#39;/[^\/]+[\.(html)]$/&#39;,$_SERVER["REQUEST_URI"],$pro); 
//$province=preg_replace(&#39;/\.html/&#39;,&#39;&#39;,$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,&#39;r&#39;); 
$pattern="/五天天气趋势预报<\/B>(.*?)请输入输入市/si"; 
preg_match($pattern,$html,$pg); 
echo ""; 
//正则替换,获取省份,城市 
$p=preg_replace(&#39;/\/weather\/(\w+)\/(\w+).htm/&#39;, &#39;$2.html?pro=$1&#39;, $pg[1]); 
echo $p; 
} 
else { 
//市,通过get传递省份 
$pro=$_REQUEST[&#39;pro&#39;]; 
$city=explode("/",$_SERVER["REQUEST_URI"]); 
$city=explode(".",$city[count($city)-1]); 
$city=$city[0]; 
//preg_match(&#39;/[^\/]+[\.(html)]+[\?]/&#39;,$_SERVER["REQUEST_URI"],$cit); 
//$city=preg_replace(&#39;/\.html\?/&#39;,&#39;&#39;,$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,&#39;r&#39;); 
$pattern="/五天天气趋势预报<\/B>(.*?)请输入输入市/si"; 
preg_match($pattern,$html,$pg); 
echo ""; 
//获取真实的图片地址 
$p=preg_replace(&#39;/\/image\//&#39;, &#39;http://qq.ip138.com/image/&#39;, $pg[1]); 
echo $p; 
} 
?>

The above is the detailed content of Definition and usage of PHP file_get_contents() function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn