Home  >  Article  >  php教程  >  php实现获取网站PR值功能

php实现获取网站PR值功能

WBOY
WBOYOriginal
2016-06-21 08:50:28981browse

最近一直在忙友链,也乘机学习一下PR值相关知识,试着用PHP实现PR查询。

Google PR值是什么在此不做过多的介绍,简单的说就是你的PR值越高代表的你网站越重要越受欢迎,不过这个值最高为10,下面这个代码可以获得一个网站的PR值。
  用PHP脚本程序获取网站的PR值的主要代码如下:
  程序如下:   $googlehost="toolbarqueries.google.com";
  $googleua="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5";
  echo getpr
  //convert a string to a 32-bit integer
  function StrToNum($Str, $Check, $Magic) {
  $Int32Unit = 4294967296; // 2^32
  $length = strlen($Str);
  for ($i = 0; $i   $Check *= $Magic;
  //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31),
  // the result of converting to integer is undefined
  // refer to php.net/manual/en/language.types.integer.php
  if ($Check >= $Int32Unit) {
  $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
  //if the check less than -2^31
  $Check = ($Check   }
  $Check += ord($Str{$i});
  }
  return $Check;
  }
  //genearate a hash for a url
  function HashURL($String) {
  $Check1 = StrToNum($String, 0×1505, 0×21);
  $Check2 = StrToNum($String, 0, 0×1003F);
  $Check1 》= 2;
  $Check1 = (($Check1 》 4) & 0×3FFFFC0 ) ($Check1 & 0×3F);
  $Check1 = (($Check1 》 4) & 0×3FFC00 ) ($Check1 & 0×3FF);
  $Check1 = (($Check1 》 4) & 0×3C000 ) ($Check1 & 0×3FFF);
  $T1 = (((($Check1 & 0×3C0) 《 4) ($Check1 & 0×3C)) 《2 ) ($Check2 & 0xF0F );
  $T2 = (((($Check1 & 0xFFFFC000) 《 4) ($Check1 & 0×3C00)) 《 0xA) ($Check2 & 0xF0F0000 );
  return ($T1 $T2);
  }
  //genearate a checksum for the hash string
  function CheckHash($Hashnum) {
  $CheckByte = 0;
  $Flag = 0;
  $HashStr = sprintf(‘%u’, $Hashnum) ;
  $length = strlen($HashStr);
  for ($i = $length - 1; $i >= 0; $i –) {
  $Re = $HashStr{$i};
  if (1 === ($Flag % 2)) {
  $Re += $Re;
  $Re = (int)($Re / 10) + ($Re % 10);
  }
  $CheckByte += $Re;
  $Flag ++;
  }
  $CheckByte %= 10;
  if (0 !== $CheckByte) {
  $CheckByte = 10 - $CheckByte;
  if (1 === ($Flag % 2) ) {
  if (1 === ($CheckByte % 2)) {
  $CheckByte += 9;
  }
  $CheckByte 》= 1;
  }
  }
  return "7".$CheckByte.$HashStr;
  }



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn