首頁 php教程 php手册 php实现获取网站PR值功能

php实现获取网站PR值功能

Jun 21, 2016 am 08:50 AM
check quot string

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



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

解決kernel_security_check_failure藍色畫面的17種方法 解決kernel_security_check_failure藍色畫面的17種方法 Feb 12, 2024 pm 08:51 PM

Kernelsecuritycheckfailure(內核檢查失敗)就是一個比較常見的停止代碼類型,可藍屏錯誤出現不管是什麼原因都讓很多的有用戶們十分的苦惱,下面就讓本站來為用戶們來仔細的介紹一下17種解決方法吧。 kernel_security_check_failure藍色畫面的17種解決方法方法1:移除全部外部裝置當您使用的任何外部裝置與您的Windows版本不相容時,則可能會發生Kernelsecuritycheckfailure藍色畫面錯誤。為此,您需要在嘗試重新啟動電腦之前拔下全部外部裝置。

使用java的String.valueOf()函數將基本資料型別轉換為字串 使用java的String.valueOf()函數將基本資料型別轉換為字串 Jul 24, 2023 pm 07:55 PM

使用Java的String.valueOf()函數將基本資料型別轉換為字串在Java開發中,當我們需要將基本資料型別轉換為字串時,常見的方法是使用String類別的valueOf()函數。這個函數可以接受基本資料類型的參數,並傳回對應的字串表示。在本文中,我們將探討如何使用String.valueOf()函數進行基本資料型別轉換,並提供一些程式碼範例來

怎麼把char數組轉string 怎麼把char數組轉string Jun 09, 2023 am 10:04 AM

char陣列轉string的方法:可以透過賦值來實現,使用{char a[]=" abc d\0efg ";string s=a;}語法,讓char陣列對string直接賦值,執行程式碼即可完成轉換。

如何在Windows 11/10中關閉Palm Check 如何在Windows 11/10中關閉Palm Check Feb 19, 2024 pm 09:45 PM

本文將引導您在Windows11/10PC上關閉PalmCheck功能。 PalmCheck是一項設計用來防止在鍵盤輸入時意外手掌或其他部位的觸摸被誤識別為輸入的功能。通常可以在觸控板設定中找到,特別是在筆記型電腦等裝置上具有觸控功能的裝置。有時候,您可能需要關閉PalmCheck或類似的功能,以便在需要同時使用鍵盤和觸控板的情況下更靈活地控制輸入。在本文中,我們將介紹如何在Windows11/10PC上停用PalmCheck功能,讓您能夠更好地應對遊戲或執行應用程式時的需求。什麼是觸控板上的P

使用java的String.replace()函數替換字串中的字元(字串) 使用java的String.replace()函數替換字串中的字元(字串) Jul 25, 2023 pm 05:16 PM

使用Java的String.replace()函數替換字串中的字元(字串)在Java中,字串是不可變的對象,這意味著一旦創建了一個字串對象,就無法修改它的值。但是,你可能會遇到需要替換字串中的某些字元或字串的情況。這時候,我們可以使用Java的String類別中的replace()方法來實作字串的替換。 String類別的replace()方法有兩種重

2w字 詳解 String,yyds 2w字 詳解 String,yyds Aug 24, 2023 pm 03:56 PM

大家好,今天跟大家分享java基礎之String。 String類別的重要性就不必說了,可以說是我們後端開發用的最多的類,所以,很有必要好好聊聊它。

使用java的String.length()函數取得字串的長度 使用java的String.length()函數取得字串的長度 Jul 25, 2023 am 09:09 AM

使用Java的String.length()函數取得字串的長度在Java程式設計中,字串是一種非常常見的資料類型,我們經常需要取得字串的長度,即字串中字元的個數。在Java中,我們可以使用String類別的length()函數來取得字串的長度。下面是一個簡單的範例程式碼:publicclassStringLengthExample{publ

Golang函數的byte、rune和string型轉換技巧 Golang函數的byte、rune和string型轉換技巧 May 17, 2023 am 08:21 AM

在Golang程式設計中,byte、rune和string類型是非常基礎、常見的資料型別。它們在處理字串、檔案流等資料操作時發揮著重要作用。而在進行這些資料操作時,我們通常需要對它們進行相互的轉換,這就需要掌握一些轉換技巧。本文將介紹Golang函數的byte、rune和string類型轉換技巧,旨在幫助讀者更好地理解這些資料類型,並能夠熟練地在程式設計實踐中應用

See all articles