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


Posted in PHP onJanuary 05, 2010
<?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>输入域名 如:3water.com 
</form>'; 
} 
?>
PHP 相关文章推荐
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
php Smarty初体验二 获取配置信息
Aug 08 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
php中inlcude()性能对比详解
Sep 16 PHP
PHP Curl多线程原理实例详解
Nov 06 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
Jul 06 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
PHP基于PDO扩展操作mysql数据库示例
Dec 24 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 #PHP
用PHP查询搜索引擎排名位置的代码
Jan 05 #PHP
PHP 批量更新网页内容实现代码
Jan 05 #PHP
PHP 存储文本换行实现方法
Jan 05 #PHP
PHP 将图片按创建时间进行分类存储的实现代码
Jan 05 #PHP
PHP 采集获取指定网址的内容
Jan 05 #PHP
php 无极分类(递归)实现代码
Jan 05 #PHP
You might like
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
PHP中用hash实现的数组
2011/07/17 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
Python 如何展开嵌套的序列
2020/08/01 Python
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
如何利用find命令查找文件
2015/02/07 面试题
一套软件开发工程师笔试题
2015/05/18 面试题
最新党员的自我评价分享
2013/11/04 职场文书
办公室经理岗位职责
2014/01/01 职场文书
家庭教育的心得体会
2014/09/01 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript