首页 >后端开发 >php教程 >页面中嵌入google的pagerank显示_PHP

页面中嵌入google的pagerank显示_PHP

WBOY
WBOY原创
2016-06-01 12:34:221112浏览

Google

代码如下:

  1. /**
  2. * blog.hd001.com Google PageRank 生成器
  3. *
  4. *
  5. * @link:    http://blog.hd001.com
  6. * @author:  Pasio 和 superspice
  7. * @版本:0.1
  8. */
  9. @错误报告(E_ALL ^ E_NOTICE);
  10. 定义('GOOGLE_MAGIC', 0xE6359A60) ;
  11. //无符号右移
  12. 函数 zeroFill($a, $b
  13. {
  14.     $z = 十六进制(80000000);
  15.         if ($z & $a)
  16.         {
  17.             $a = ($a>>1 );
  18.             $a &= (~$z);
  19.             $a |= 0x40000000;
  20.             $a = ($a>>($b-1));
  21.         }
  22.         其他
  23.         {
  24.             $a = ($a>>$b);
  25.         }
  26.         返回$a;
  27. }   
  28.    
  29.    
  30. 函数混合($a,$b ,$c) {
  31.   $a -= $b; $a -= $c; $a ^= (zeroFill($c,13));   
  32.   $b -= $c; $b -= $a; $b ^= ($a8);   
  33.   $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
  34.   $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
  35.   $b -= $c; $b -= $a; $b ^= ($a16);
  36.   $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));   
  37.   $a -= $b; $a -= $c; $a ^= (zeroFill($c,3));    
  38.   $b -= $c; $b -= $a; $b ^= ($a10);   
  39.   $c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
  40.     
  41.   返回数组($a,$b,$c );
  42. }
  43.    
  44. 函数 GoogleCH($url, $length =null, $init=GOOGLE_MAGIC) {
  45.     if(is_null($length)) {
  46.         $length = sizeof($url) ;
  47.     }
  48.     $a = $b = 0x9E3779B9;
  49.     $c = $init;
  50.     $k = 0;
  51.     $len = $length;
  52.     while($len >= 12) {
  53.         $a = ($url[$k 0] ($url[$k 1]8)($url[$ k 2]16)($url[$k 3]24 ));
  54.         $b = ($url[$k 4] ($url[$k 5]8)($url[$ k 6]16)($url[$k 7]24 ));
  55.         $c = ($url[$k 8] ($url[$k 9]8)($url[$ k 10]16)($url[$k11]24 ));
  56.         $mix = mix($a, $b,$c);
  57.         $a = $mix[0] ; $b = $mix[1]; $c = $mix[2];
  58.         $k = 12;   
  59.         $len -= 12;
  60.     }
  61.    
  62.     $c = $length;
  63.     switch($len)              /* 所有 case 语句都通过 */
  64.     {
  65.         案例 11: $c =($url[$k 10]24);
  66.         案例 10: $c =($url[$k 9]16);
  67.         案例 9 : $c =($url[$k 8]8);
  68.           /* c 的第一个字节保留为长度 */
  69.         案例 8 : $b =($ url[$k 7]24 );
  70.         案例 7 : $b =($url[$k 6]16);
  71.         案例 6 : $b =($url[$k 5]8);
  72.         案例 5 : $b =($url[$k 4]);
  73.         案例 4 : $a =($url[$k 3]24);
  74.         案例 3 : $a =($url[$k 2]16);
  75.         案例 2 : $a =($url[$k 1]8);
  76.         案例 1 : $a =($url[$k 0]);
  77.          /* 情况 0:没有什么可添加的 */
  78.     }
  79.     $mix = mix($a, $b,$c);
  80.     /*------------------------------------ --------报告结果*/
  81.     返回$mix[2];
  82. }
  83.    
  84. //将字符串转换为包含 char 数值的整数数组
  85. 函数 strord($string) {
  86.     对于($i=0;$i<strlen($string);$i ) {
  87.         $结果[$i] = ord ($string{$i});
  88.     }
  89.     返回$结果;
  90. }
  91. // http://www.example.com/ - 校验和:6540747202
  92. if (!isset($_GET['url']))
  93. {
  94.     $url_o   = $_SERVER['HTTP_REFERER'];
  95. }
  96. 其他
  97. {
  98.     $url_o   = $_GET['url'];
  99. }
  100. $url_o = 爆炸("?" , $url_o);
  101. $url_o = $url_o[0] ;
  102. $url    = '信息:'.$url_o
  103. $ch     = GoogleCH(strord($url));
  104. $url    ='info:'.urlencode($url_o);
  105. $cache_filename = "prcache/".urlencode($url_o).".pagerank";
  106. //检查缓存文件是否存在,如果不存在则创建
  107. if(!file_exists($cache_filename) || ( file_exists($cache_filename) && filemtime($cache_filename) <时间() - 86400))
  108. {
  109.     $url    = "http://toolbarqueries.google.com/search?client=navclient-auto&ch=6$ch&ie= UTF-8&oe=UTF-8&features=Rank&q=$url";
  110.     $结果 = @file_get_contents($url );
  111.     $tmp    = @爆炸(":", $结果);
  112.     $rank   = intval($tmp[ 2]);
  113.     $handle = fopen ($cache_filename, “w”);
  114.     羊群($handle, LOCK_EX);
  115.     fwrite($handle, $rank) ;
  116.     羊群($handle, LOCK_UN);
  117.     fclose($handle);
  118. }
  119. $pagerank = @file_get_contents($cache_filename );
  120. $pagerank = 2;
  121. $width = 6 * $pagerank;
  122. $width_ = 6 * (10- $pagerank);
  123. echo "document.writeln('<表格宽度="80" border=0 cellpadding="0" cellspacing="0" style="字体大小:12px">"居中">PageRank< ;td><表格宽度="80" cellpadding=" 0" cellspacing="1" bgcolor="#CCCCCC"高度="10" style="字体大小:11px">"#FFFFFF">"62">"/imgs/bar.gif" width="$宽度"高度="20">"/imgs/space.gif"宽度=" $width_"高度="20" >"中心" style="颜色:红色">$pagerank< /表>');";

以上代码保存为pagerank.php到plugins目录下。
实现步骤
一、放一个bar.gif到imgs文件夹下,为上面的绿色图片,再放一个space.gif到imgs文件夹下,该图片是一个1*1的空白图。
二、在plugins目录下建立prcache目录,保证并该目录为apache执行用户可读写的。
三、调用方法是:
页面中,在你想要显示pagerank的位置加入如下代码

完毕!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn