Heim  >  Artikel  >  php教程  >  php实现获取网站PR值功能

php实现获取网站PR值功能

WBOY
WBOYOriginal
2016-06-21 08:50:281018Durchsuche

最近一直在忙友链,也乘机学习一下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;
  }



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:开源项目文档13处应规避Nächster Artikel:代码优化的另一面