广

Discuz教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    Discuz友情连接自动提取PR,自动检测对方有没有本站的连接

    2018-04-02 20:46:31 次阅读 稿源:互联网
    广告
    第一步,首先建立一个 /source/function/function_autopr.php
    1. <?php function HashURL($url){$SEED = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer.";$Result = 0x01020345;for ($i=0; $i<strlen($url); $i++) {$Result ^= ord($SEED{$i%87}) ^ ord($url{$i});$Result = (($Result >> 23) & 0x1FF) | $Result << 9;}return sprintf("8%x", $Result);}function prget($domain){ $PRURL = "http://www.google.com/search?client=navclient-auto&features=Rank:&q=info:".$domain.'&ch='.HashURL($domain); $prstr = file_get_contents($PRURL); $pagerank = substr($prstr,9);if ($pagerank){return $pagerank;}else {return "0";}} ?>复制代码第二步,再建立一个 sourceincludecroncron_autolink.php
      1. <?if(!defined('IN_DISCUZ')) {exit('Access Denied');}require_once DISCUZ_ROOT.'./source/function/function_autopr.php'; $discuz = & discuz_core::instance();$myhost = 'http://www.XXXXXXX.com';//你的域名 set_time_limit(1800);$query = DB::query("select id,url,display from pre_common_friendlink where display=0 and checknum<10");while($links = DB::fetch($query)) {$links['url']=strtolower($links['url']);if(!empty($links['url']) and substr($links['url'],0,4)=="http"){$htmls=@file_get_contents($links['url']);} $website = $links['url'] ;$website = str_replace("http://","",$website);$website = str_replace("https://","",$website);$website = str_replace("/","",$website);$website = trim($website);$pr = prget($website);$pr = str_replace( "n", "", $pr );if(substr($htmls,-1) == "/"){$htmls = str_replace("/","",$htmls);} //if( !strstr($htmls,$myhost) ) {if(!ereg($myhost,$htmls)){DB::query("update pre_common_friendlink set checknum=checknum+1,pr='".$pr."' where id=".$links['id']); }else{ if($links["display"]==0){DB::query("update pre_common_friendlink set display=1,checknum=0,pr=".$pr." where id=".$links['id']);}}}DB::query("update pre_common_friendlink set display=0 where checknum>7");//七次检查没有,自动隐藏 //DB::query("delete from pre_common_friendlink where checknum>10");//十次检查没有,自动删除。?>复制代码
        第三步,在数据库表 pre_common_friendlink 增加display,checknum,pr字段
        1. ALTER TABLE pre_common_friendlink ADD `display` smallint(2) unsigned NOT NULL default '0'ALTER TABLE pre_common_friendlink ADD `checknum` tinyint(3) NOT NULL default '0'ALTER TABLE pre_common_friendlink ADD `pr` int(11) NOT NULL default '0'复制代码

          第四步,在后台--工具--计划任务添加cron_autolink.php执行一下就可以了。

          大功告成。

          另外,也可以在添加时,就直接提取对方的PR值。用法:$pr = prget($pr);

          这个帖子希望官方能够看到,并完善DZ1.5的友情连接功能里。

        一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

        广告