php实现首页链接查询 友情链接检查的代码
php实现首页链接查询 友情链接检查的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:

复制代码 代码如下:

<?php

/*

* 网站首页超链接反查 友情链接查询 外链查询

* web技术爱好者 lost63.com原创 QQ:35501547

* 转载请注明出处

*/

if($_GET['action']=="check"){

$domain=$_POST['domain'];

//域名表单项为空,则获取地址栏参数

if($domain==""){

$domain=$_GET['domain'];

}

//网址

$url="http://".$domain;

//读取网页,返回网页源文件内容

function read_url($str){

$file=fopen($str,"r") or die($str.'->远程网址读取失败! <a href="?next='.($_GET['next']+1).'&action=check&domain='.$_GET['domain'].'">点击继续查询</a><br>');

while(!feof($file)){

$result.=fgets($file,9999);

}

fclose($file);

return $result;

}

//打开session

session_start();

//如果$_SESSION['matches']没有赋值就设置它;

if(!isset($_SESSION['matches'])){

$result=read_url($url);

preg_match_all('/<a(.*?)href="(http://.*?)"(.*?)>(.*?)</a>/i',$result,$matches);

$num=count($matches[2]);

for($i=0;$i<$num;$i++){

if(strpos($matches[2][$i],$domain)>0){

unset($matches[2][$i]);

}

}

$_SESSION['matches']=$matches[2];

}

//直接从session中取出包含网址数组;

$matches[2]=$_SESSION['matches'];

$n=count($matches[2]);

$next=0;

$next+=$_GET['next'];

$result=read_url($matches[2][$next]);

if(strpos($result,$domain)>0){

$value=$matches[2][$next].' <font color=green>true</font><br>';

}else{

$value=$matches[2][$next].' <font color=red>false</font><br>';

}

$values=$_COOKIE['check_result'].$value;

setcookie("check_result",$values,time()+3600);

echo $values;

if($next==$n){

echo "扫描结束!";

}else{

echo '<meta http-equiv="refresh" content="1;URL=?next='.($next+1).'&action=check&domain='.$domain.'" />';

}

}else{

//删除cookies

setcookie("check_result","",time()-3600);

echo '<form name="form1" method="post" action="?action=check">

<input type="text" name="domain">

<input type="submit" name="Submit" value="提交">

<font color="red">*</font>输入域名 如:jb51.net

</form>';

}

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类