Heim  >  Artikel  >  Backend-Entwicklung  >  Definition und Verwendung der PHP-Funktion file_get_contents()

Definition und Verwendung der PHP-Funktion file_get_contents()

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

定义和用法

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; 
} 
?>

Das obige ist der detaillierte Inhalt vonDefinition und Verwendung der PHP-Funktion file_get_contents(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn