先看一下file_get_contents的语法:
file_get_contents(path,include_path,context,start,max_length)
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。
start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
max_length
可选。规定读取的字节数。该参数是 PHP 5.1 新加的。
file_get_contents()打开URL
下面是一个使用file_get_contents()打开URL的例子:
<?php
$fh= file_get_contents('http://www.jb200.com/');
echo $fh;
?>
从此例子看到,file_get_contents()打开网页后,返回的$fh是一个字符串,可以直接输出的。
一段模拟蜘蛛爬虫的PHP代码,通过一级页面得到二级页面,并在二级页面中搜索关键字,代码如下:
<?php
$search=$_GET['search'];
echo $search;
$str = file_get_contents("http://www.jb200.com"); //抓取网页
$pat = '/<a(.*?)href="(.*?)"(.*?)>(.*?)</a>/i'; //匹配模式
preg_match_all($pat, $str, $m); //进行正则匹配
$m_unique=array_unique($m); //去除重复项
foreach ($m as $value){ //获得匹配结果
foreach ($value as $val) {
$model='/"http(.*?)"/';
preg_match($model, $val,$res); //得出超链接
$res_unique=array_unique($res); //去除重复项
if ($res_unique[0]!=null){
echo $res_unique[0];
$num=$num+1;
$pg=file_get_contents($res_unique[0]);//读入二级网页
if ($pg==null){
echo 'error';
}else {
echo 'success';
}
echo "<br>";
}
}
}
?>