Rumah pembangunan bahagian belakang tutorial php 页面中嵌入google的pagerank显示_PHP

页面中嵌入google的pagerank显示_PHP

Jun 01, 2016 pm 12:34 PM
case mix url tunjuk muka surat

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的地方加入如下代码

完毕!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyalin halaman dalam Word Bagaimana untuk menyalin halaman dalam Word Feb 20, 2024 am 10:09 AM

Ingin menyalin halaman dalam Microsoft Word dan mengekalkan pemformatan? Ini adalah idea yang bijak kerana menduplikasi halaman dalam Word boleh menjadi teknik penjimatan masa yang berguna apabila anda ingin membuat berbilang salinan susun atur atau format dokumen tertentu. Panduan ini akan membimbing anda melalui proses langkah demi langkah menyalin halaman dalam Word, sama ada membuat templat atau menyalin halaman tertentu dalam dokumen. Arahan mudah ini direka untuk membantu anda mencipta semula halaman anda dengan mudah tanpa perlu bermula dari awal. Mengapa menyalin halaman dalam Microsoft Word? Terdapat beberapa sebab mengapa menyalin halaman dalam Word sangat bermanfaat: Apabila anda mempunyai dokumen dengan susun atur atau format tertentu yang anda ingin salin. Tidak seperti mencipta semula keseluruhan halaman dari awal

Mengapa NameResolutionError(self.host, self, e) daripada e dan cara menyelesaikannya Mengapa NameResolutionError(self.host, self, e) daripada e dan cara menyelesaikannya Mar 01, 2024 pm 01:20 PM

Sebab ralat adalah NameResolutionError(self.host,self,e)daripada, yang merupakan jenis pengecualian dalam pustaka urllib3 Sebab ralat ini adalah bahawa resolusi DNS gagal, iaitu nama hos atau alamat IP yang telah cuba diselesaikan tidak dapat ditemui. Ini mungkin disebabkan oleh alamat URL yang dimasukkan tidak betul atau pelayan DNS tidak tersedia buat sementara waktu. Bagaimana untuk menyelesaikan ralat ini Mungkin terdapat beberapa cara untuk menyelesaikan ralat ini: Semak sama ada alamat URL yang dimasukkan adalah betul dan pastikan ia boleh diakses Pastikan pelayan DNS tersedia, anda boleh cuba menggunakan arahan "ping" dalam baris arahan untuk menguji sama ada pelayan DNS tersedia Cuba akses tapak web menggunakan alamat IP dan bukannya nama hos jika di belakang proksi

Bagaimana untuk menangani masalah yang halaman Laravel tidak dapat memaparkan CSS dengan betul Bagaimana untuk menangani masalah yang halaman Laravel tidak dapat memaparkan CSS dengan betul Mar 10, 2024 am 11:33 AM

"Bagaimana untuk menangani kegagalan halaman Laravel untuk memaparkan CSS dengan betul, contoh kod khusus diperlukan" Apabila menggunakan rangka kerja Laravel untuk membangunkan aplikasi web, kadangkala anda akan menghadapi masalah bahawa halaman tidak dapat memaparkan gaya CSS dengan betul, yang boleh menyebabkan halaman untuk menghasilkan gaya yang tidak normal. Artikel ini akan memperkenalkan beberapa kaedah untuk menangani kegagalan halaman Laravel untuk memaparkan CSS dengan betul, dan menyediakan contoh kod khusus untuk membantu pembangun menyelesaikan masalah biasa ini. 1. Semak laluan fail Mula-mula semak laluan fail CSS.

Sebab dan penyelesaian untuk susun atur desktop dikunci Sebab dan penyelesaian untuk susun atur desktop dikunci Feb 19, 2024 pm 06:08 PM

Apakah yang berlaku apabila susun atur desktop dikunci apabila menggunakan komputer, kadangkala kita mungkin menghadapi situasi di mana reka letak desktop dikunci. Masalah ini bermakna kita tidak boleh bebas melaraskan kedudukan ikon desktop atau menukar latar belakang desktop. Jadi, apa sebenarnya yang berlaku apabila ia mengatakan bahawa susun atur desktop dikunci? 1. Fahami reka letak desktop dan fungsi penguncian Pertama, kita perlu memahami dua konsep susun atur desktop dan penguncian desktop. Reka letak desktop merujuk kepada susunan pelbagai elemen pada desktop, termasuk pintasan, folder, widget, dsb. kita boleh bebas

Bagaimana untuk melaksanakan lompatan halaman dalam 3 saat: Panduan Pengaturcaraan PHP Bagaimana untuk melaksanakan lompatan halaman dalam 3 saat: Panduan Pengaturcaraan PHP Mar 25, 2024 am 10:42 AM

Tajuk: Kaedah pelaksanaan lompat halaman dalam 3 saat: Panduan Pengaturcaraan PHP Dalam pembangunan web, lompat halaman adalah operasi biasa Secara umumnya, kami menggunakan tag meta dalam kaedah HTML atau JavaScript untuk melompat ke halaman. Walau bagaimanapun, dalam beberapa kes tertentu, kita perlu melakukan lompatan halaman pada bahagian pelayan. Artikel ini akan memperkenalkan cara menggunakan pengaturcaraan PHP untuk melaksanakan fungsi yang secara automatik melompat ke halaman tertentu dalam masa 3 saat, dan juga akan memberikan contoh kod tertentu. Prinsip asas lompat halaman menggunakan PHP adalah sejenis

Bagaimana untuk memuat semula halaman web dengan cepat? Bagaimana untuk memuat semula halaman web dengan cepat? Feb 18, 2024 pm 01:14 PM

Penyegaran halaman adalah perkara biasa dalam penggunaan rangkaian harian kami Apabila kami melawat halaman web, kadangkala kami menghadapi beberapa masalah, seperti halaman web tidak dimuatkan atau dipaparkan secara tidak normal, dsb. Pada masa ini, kami biasanya memilih untuk memuat semula halaman untuk menyelesaikan masalah, jadi bagaimana untuk memuat semula halaman dengan cepat? Mari kita bincangkan kekunci pintasan untuk muat semula halaman. Kekunci pintasan muat semula halaman ialah kaedah untuk memuat semula halaman web semasa dengan pantas melalui operasi papan kekunci. Dalam sistem pengendalian dan penyemak imbas yang berbeza, kekunci pintasan untuk muat semula halaman mungkin berbeza. Di bawah ini kami menggunakan W biasa

Apakah perbezaan antara html dan url Apakah perbezaan antara html dan url Mar 06, 2024 pm 03:06 PM

Perbezaan: 1. Definisi yang berbeza, url ialah pencari sumber seragam, dan html ialah bahasa penanda hiperteks 2. Terdapat banyak url dalam html, tetapi hanya satu halaman html boleh wujud dalam url 3. html merujuk kepada; halaman web, dan url merujuk kepada alamat tapak web.

Cara Susun Semula, Lumpuhkan dan Padam Halaman Skrin Utama iPhone Cara Susun Semula, Lumpuhkan dan Padam Halaman Skrin Utama iPhone Nov 29, 2023 am 08:22 AM

Dalam iOS, Apple membenarkan anda melumpuhkan halaman skrin utama individu pada iPhone anda. Anda juga boleh menyusun semula susunan halaman skrin utama dan memadamkan halaman secara langsung dan bukannya melumpuhkannya sahaja. Begini cara ia berfungsi. Cara Menyusun Semula Halaman Skrin Utama Sentuh dan tahan Ruang pada skrin Utama untuk memasuki mod jitter. Ketik baris titik yang mewakili halaman skrin Utama. Dalam grid Skrin Utama yang muncul, sentuh dan seret halaman untuk menyusunnya semula berbanding dengan halaman lain. Orang lain bergerak sebagai tindak balas kepada penyeretan anda. Apabila anda berpuas hati dengan susunan baharu anda, ketik "Selesai" di penjuru kanan sebelah atas skrin, kemudian ketik "Selesai" sekali lagi untuk keluar dari mod dither. Cara Melumpuhkan atau Mengalih Keluar Halaman Skrin Utama Sentuh dan tahan Ruang pada skrin Utama untuk memasuki mod dither. Ketik untuk mewakili skrin utama

See all articles