当前位置: 首页 > 图文教程 > 网络编程 > PHP > php实现首页链接查询 友情链接检查的代码

PHP
需要发散思维学习PHP
php 图片上添加透明度渐变的效果
php 图片上传类代码
PHP 生成的XML以FLASH获取为乱码终极解决
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
PHP DataGrid 实现代码
MayFish PHP的MVC架构的开发框架
PHP 实现多服务器共享 SESSION 数据
PHP 开源框架22个简单简介
PHP 数组遍历顺序理解
PHPLog php 程序调试追踪工具
PHP 分页类(模仿google)-面试题目解答
火车头discuz6.1 完美采集的php接口文件
Discuz 6.0+ 批量注册用户名
使用php来实现网络服务
火车采集器 免费版使出收费版本功能实现原理
php程序之die调试法 快速解决错误
PHP 日常开发小技巧
PHP下通过系统信号量加锁方式获取递增序列ID
php 代码优化的42条建议 推荐

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 191 ::
收藏到网摘: n/a

网站首页超链接反查 友情链接查询 外链查询 ,对于其中的思路
复制代码 代码如下:

<?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>输入域名 如:ruanchen.com
</form>';
}
?>