php实现首页链接查询 友情链接检查的代码

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?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统计数组元素个数 count():对数组中的元素个数进行统计; sizeof():和count()具有同样的用途,这两个函数都可以返回数组元素个数。可以得到一个常规标量变量中的元素...

Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

本文实例讲述了Windows上php5.6操作mongodb数据库的方法。分享给大家供大家参考,具体如下: 一、配置 针对不同线程安全、VC版本的 PHP 发行版,可从 PECL 获取到...

PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)

本文实例总结了PHP字符串处理技巧。分享给大家供大家参考,具体如下: Demo1.php <?php //源代码是文本形式,页面显示是 web 形式 $str...

PHP ajax 异步执行不等待执行结果的处理方法

短地址生成应用中,要根据长地址生成网页快照,这个生成时间非瞬发,不可预估。 所以前台方面采用的方案一般为先展示生成的短地址,再定期AJAX轮查网页快照是否生成完毕。 So,PHP代码这里...

PHP游戏编程25个脚本代码

清单 1.简单的掷骰器 许多游戏和游戏系统都需要骰子。让我们先从简单的部分入手:掷一个六面骰子。实际上,滚动一个六面骰子就是从 1 到 6 之间选择一个随机数字。在 PHP 中,这十分简...