首頁 後端開發 php教程 页面中嵌入google的pagerank显示_PHP

页面中嵌入google的pagerank显示_PHP

Jun 01, 2016 pm 12:34 PM
case mix url 顯示 頁面

Google

代码如下:

  1. /**
  2. * blog.hd001.com Google PageRank Generator
  3. *
  4. *
  5. * @link:    http://blog.hd001.com
  6. * @author:  Pasio & superspice
  7. * @version: 0.1
  8. */
  9. @error_reporting(E_ALL ^ E_NOTICE);
  10. define('GOOGLE_MAGIC', 0xE6359A60);
  11. //unsigned shift right
  12. function zeroFill($a, $b)
  13. {
  14.     $z = hexdec(80000000);
  15.         if ($z & $a)
  16.         {
  17.             $a = ($a>>1);
  18.             $a &= (~$z);
  19.             $a |= 0x40000000;
  20.             $a = ($a>>($b-1));
  21.         }
  22.         else
  23.         {
  24.             $a = ($a>>$b);
  25.         }
  26.         return $a;
  27. }   
  28.    
  29.    
  30. function mix($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.   return array($a,$b,$c);
  42. }
  43.    
  44. function 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[$k+11]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)              /* all the case statements fall through */
  64.     {
  65.         case 11: $c+=($url[$k+10]24);
  66.         case 10: $c+=($url[$k+9]16);
  67.         case 9 : $c+=($url[$k+8]8);
  68.           /* the first byte of c is reserved for the length */
  69.         case 8 : $b+=($url[$k+7]24);
  70.         case 7 : $b+=($url[$k+6]16);
  71.         case 6 : $b+=($url[$k+5]8);
  72.         case 5 : $b+=($url[$k+4]);
  73.         case 4 : $a+=($url[$k+3]24);
  74.         case 3 : $a+=($url[$k+2]16);
  75.         case 2 : $a+=($url[$k+1]8);
  76.         case 1 : $a+=($url[$k+0]);
  77.          /* case 0: nothing left to add */
  78.     }
  79.     $mix = mix($a,$b,$c);
  80.     /*-------------------------------------------- report the result */
  81.     return $mix[2];
  82. }
  83.    
  84. //converts a string into an array of integers containing the numeric value of the char
  85. function strord($string) {
  86.     for($i=0;$istrlen($string);$i++) {
  87.         $result[$i] = ord($string{$i});
  88.     }
  89.     return $result;
  90. }
  91. // http://www.example.com/ - Checksum: 6540747202
  92. if (!isset($_GET['url']))
  93. {
  94.     $url_o   = $_SERVER['HTTP_REFERER'];
  95. }
  96. else
  97. {
  98.     $url_o   = $_GET['url'];
  99. }
  100. $url_o = explode("?", $url_o);
  101. $url_o = $url_o[0];
  102. $url    = 'info:'.$url_o;
  103. $ch     = GoogleCH(strord($url));
  104. $url    ='info:'.urlencode($url_o);
  105. $cache_filename = "prcache/".urlencode($url_o).".pagerank";
  106. // check exists of cache file, if not exists, create it
  107. if(!file_exists($cache_filename) || (file_exists($cache_filename) && filemtime($cache_filename) time() - 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.     $result = @file_get_contents($url);
  111.     $tmp    = @explode(":", $result);
  112.     $rank   = intval($tmp[2]);
  113.     $handle = fopen ($cache_filename, "w");
  114.     flock($handle, LOCK_EX);
  115.     fwrite($handle, $rank);
  116.     flock($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=\"font-size:12px\">
    \"center\">PageRank
    \"80\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#CCCCCC\" height=\"10\" style=\"font-size:11px\">\"#FFFFFF\">
    \"62\">页面中嵌入google的pagerank显示_PHP\"/imgs/bar.gif\" width=\"$width\" height=\"20\">页面中嵌入google的pagerank显示_PHP\"/imgs/space.gif\" width=\"$width_\" height=\"20\"> \"center\" style=\"color:red\">$pagerank
    ');"
    ;

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

完毕!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1664
14
CakePHP 教程
1421
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
如何在Word複製頁面 如何在Word複製頁面 Feb 20, 2024 am 10:09 AM

是否要複製MicrosoftWord中的頁面,並保持格式不變?這是一個聰明的想法,因為當您想要建立特定文件佈局或格式的多個副本時,在Word中複製頁面可能是一種有用的節省時間的技術。本指南將逐步引導您在Word中複製頁面的過程,無論是建立範本還是複製文件中的特定頁面。這些簡單的說明旨在幫助您輕鬆地重新製作頁面,省去從頭開始的麻煩。為什麼要在MicrosoftWord中複製頁面?在Word中複製頁面非常有益的原因有以下幾點:當您有一個具有特定佈局或格式的文件要複製時。與從頭開始重新建立整個頁面不同

為什麼NameResolutionError(self.host, self, e) from e,怎麼解決 為什麼NameResolutionError(self.host, self, e) from e,怎麼解決 Mar 01, 2024 pm 01:20 PM

報錯的原因NameResolutionError(self.host,self,e)frome是由urllib3函式庫中的例外類型,這個錯誤的原因是DNS解析失敗,也就是說,試圖解析的主機名稱或IP位址無法找到。這可能是由於輸入的URL位址不正確,或DNS伺服器暫時無法使用所導致的。如何解決解決此錯誤的方法可能有以下幾種:檢查輸入的URL地址是否正確,確保它是可訪問的確保DNS伺服器可用,您可以嘗試在命令行中使用"ping"命令來測試DNS伺服器是否可用嘗試使用IP位址而不是主機名稱來存取網站如果是在代理

html和url的差別是什麼 html和url的差別是什麼 Mar 06, 2024 pm 03:06 PM

區別:1、定義不同,url是是統一資源定位符,而html是超文本標記語言;2、一個html中可以有很多個url,而一個url中只能存在一個html頁面;3、html指的是網頁,而url指的是網站位址。

桌面佈局已鎖定的原因及解決方法 桌面佈局已鎖定的原因及解決方法 Feb 19, 2024 pm 06:08 PM

顯示桌面佈局已鎖定是怎麼回事在使用電腦的過程中,有時我們可能會遇到顯示桌面佈局已鎖定的情況。這個問題意味著我們無法自由地調整桌面圖示的位置或改變桌面背景等操作。那麼,顯示桌面佈局已鎖定到底是怎麼回事?一、理解桌面佈局和鎖定功能首先,我們需要了解桌面佈局和桌面鎖定這兩個概念。桌面佈局是指桌面上各元素的排列方式,包括捷徑、資料夾和小工具等。我們可以自由

如何快速刷新網頁? 如何快速刷新網頁? Feb 18, 2024 pm 01:14 PM

頁面刷新在我們日常的網路使用中非常常見,當我們訪問一個網頁後,有時會遇到一些問題,例如網頁加載不出來或顯示不正常等。這時候我們通常會選擇刷新頁面來解決問題,那麼要如何快速刷新頁面呢?下面我們就來探討頁面刷新的快捷鍵。頁面刷新快捷鍵是一種透過鍵盤操作來快速刷新目前網頁的方法。在不同的作業系統和瀏覽器中,頁面刷新的快捷鍵可能有所不同。下面我們以常見的W

處理Laravel頁面無法正確顯示CSS的方法 處理Laravel頁面無法正確顯示CSS的方法 Mar 10, 2024 am 11:33 AM

《處理Laravel頁面無法正確顯示CSS的方法,需要具體程式碼範例》在使用Laravel框架開發Web應用程式時,有時候會遇到頁面無法正確顯示CSS樣式的問題,這可能會導致頁面呈現不正常的樣式,影響使用者體驗。本文將介紹一些處理Laravel頁面無法正確顯示CSS的方法,並提供具體的程式碼範例,幫助開發者解決這個常見問題。一、檢查檔案路徑首先要檢查CSS檔案的路徑是

3秒跳轉頁面實作方法:PHP程式指南 3秒跳轉頁面實作方法:PHP程式指南 Mar 25, 2024 am 10:42 AM

標題:3秒跳轉頁面實作方法:PHP程式設計指南在網頁開發中,頁面跳轉是常見的操作,一般情況下我們使用HTML中的meta標籤或JavaScript的方法進行頁面跳轉。不過,在某些特定的情況下,我們需要在伺服器端進行頁面跳轉。本文將介紹如何使用PHP程式實作一個在3秒內自動跳到指定頁面的功能,同時會給出具體的程式碼範例。 PHP實現頁面跳躍的基本原理PHP是一種在

重新排列、停用和刪除 iPhone 主畫面頁面的方法 重新排列、停用和刪除 iPhone 主畫面頁面的方法 Nov 29, 2023 am 08:22 AM

在iOS中,Apple允許您停用iPhone上的單一主畫面頁面。還可以重新排列主螢幕頁面的順序,並直接刪除頁面,而不僅僅是停用它們。這是它的工作原理。如何重新排列主畫面頁面觸碰並按住主畫面上的空格以進入抖動模式。輕點代表主螢幕頁面的圓點行。在顯示的主螢幕網格中,輕觸並拖曳頁面以將其相對於其他頁面重新排列。其他人會移動以響應您的拖曳動作。當您對新排列感到滿意時,點擊螢幕右上角的“完成”,然後再次點擊“完成”以退出抖動模式。如何停用或刪除主畫面頁面觸碰並按住主畫面上的空格可進入抖動模式。輕點代表主螢幕

See all articles