首页 后端开发 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 生成器
  3. *
  4. *
  5. * @link:    http://blog.hd001.com
  6. * @author:  Pasio 和 superspice
  7. * @版本:0.1
  8. */
  9. @错误报告(E_ALL ^ E_NOTICE);
  10. 定义('GOOGLE_MAGIC', 0xE6359A60) ;
  11. //无符号右移
  12. 函数 zeroFill($a, $b
  13. {
  14.     $z = 十六进制(80000000);
  15.         if ($z & $a)
  16.         {
  17.             $a = ($a>>1 );
  18.             $a &= (~$z);
  19.             $a |= 0x40000000;
  20.             $a = ($a>>($b-1));
  21.         }
  22.         其他
  23.         {
  24.             $a = ($a>>$b);
  25.         }
  26.         返回$a;
  27. }   
  28.    
  29.    
  30. 函数混合($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.   返回数组($a,$b,$c );
  42. }
  43.    
  44. 函数 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[$k11]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)              /* 所有 case 语句都通过 */
  64.     {
  65.         案例 11: $c =($url[$k 10]24);
  66.         案例 10: $c =($url[$k 9]16);
  67.         案例 9 : $c =($url[$k 8]8);
  68.           /* c 的第一个字节保留为长度 */
  69.         案例 8 : $b =($ url[$k 7]24 );
  70.         案例 7 : $b =($url[$k 6]16);
  71.         案例 6 : $b =($url[$k 5]8);
  72.         案例 5 : $b =($url[$k 4]);
  73.         案例 4 : $a =($url[$k 3]24);
  74.         案例 3 : $a =($url[$k 2]16);
  75.         案例 2 : $a =($url[$k 1]8);
  76.         案例 1 : $a =($url[$k 0]);
  77.          /* 情况 0:没有什么可添加的 */
  78.     }
  79.     $mix = mix($a, $b,$c);
  80.     /*------------------------------------ --------报告结果*/
  81.     返回$mix[2];
  82. }
  83.    
  84. //将字符串转换为包含 char 数值的整数数组
  85. 函数 strord($string) {
  86.     对于($i=0;$i<strlen($string);$i ) {
  87.         $结果[$i] = ord ($string{$i});
  88.     }
  89.     返回$结果;
  90. }
  91. // http://www.example.com/ - 校验和:6540747202
  92. if (!isset($_GET['url']))
  93. {
  94.     $url_o   = $_SERVER['HTTP_REFERER'];
  95. }
  96. 其他
  97. {
  98.     $url_o   = $_GET['url'];
  99. }
  100. $url_o = 爆炸("?" , $url_o);
  101. $url_o = $url_o[0] ;
  102. $url    = '信息:'.$url_o
  103. $ch     = GoogleCH(strord($url));
  104. $url    ='info:'.urlencode($url_o);
  105. $cache_filename = "prcache/".urlencode($url_o).".pagerank";
  106. //检查缓存文件是否存在,如果不存在则创建
  107. if(!file_exists($cache_filename) || ( file_exists($cache_filename) && filemtime($cache_filename) <时间() - 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.     $结果 = @file_get_contents($url );
  111.     $tmp    = @爆炸(":", $结果);
  112.     $rank   = intval($tmp[ 2]);
  113.     $handle = fopen ($cache_filename, “w”);
  114.     羊群($handle, LOCK_EX);
  115.     fwrite($handle, $rank) ;
  116.     羊群($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="字体大小:12px">"居中">PageRank< ;td><表格宽度="80" cellpadding=" 0" cellspacing="1" bgcolor="#CCCCCC"高度="10" style="字体大小:11px">"#FFFFFF">"62">"/imgs/bar.gif" width="$宽度"高度="20">"/imgs/space.gif"宽度=" $width_"高度="20" >"中心" style="颜色:红色">$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 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1243
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