09/10/2018, 23:15

Code hiển thị Page Rank của Google...

Ngày hôm qua lang thang trên các diễn đàn tin học thế giới mình Sưu tầm được cái này hay quá Share cho bà con coi:

<?php
define('GOOGLE_MAGIC', 0xE6359A60);
class pageRank{
var $pr;
function zeroFill($a, $b){
$z = hexdec(80000000);
if ($z & $a){
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}else{
$a = ($a>>$b);
}
return $a;
}

function mix($a,$b,$c) {
$a -= $b; $a -= $c; $a ^= ($this->zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= ($this->zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= ($this->zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= ($this->zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= ($this->zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= ($this->zeroFill($b,15));
return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
if(is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = $this->mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len){
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
}
$mix = $this->mix($a,$b,$c);
/* report the result */
return $mix[2];
}

//converts a string into an array of integers containing the numeric value of the char

function strord($string) {
for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}
return $result;
}

function printrank($url){
$ch = "6".$this->GoogleCH($this->strord("info:" . $url));

$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br /> ";
} else {
$out = "GET /search?client=navclient-auto&ch=" . $ch . "&features=Rank&q=info:" . $url . " HTTP/1.1 " ;
$out .= "Host: www.google.com " ;
$out .= "Connection: Close " ;
fwrite($fp, $out);
while (!feof($fp)) {
$data = fgets($fp, 128);
$pos = strpos($data, "Rank_");
if($pos === false){
}else{
$pagerank = substr($data, $pos + 9);
$this->pr_image($pagerank);
}
}
fclose($fp);
}
}

__________________________________________________ _
www.vietnammillionpixel.com

function pr_image($pagerank){
if($pagerank == 0){
$this->pr = "<img src="images/pr0.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 1){
$this->pr = "<img src="images/pr1.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 2){
$this->pr = "<img src="images/pr2.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 3){
$this->pr = "<img src="images/pr3.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 4){
$this->pr = "<img src="images/pr4.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 5){
$this->pr = "<img src="images/pr5.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 6){
$this->pr = "<img src="images/pr6.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 7){
$this->pr = "<img src="images/pr7.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 8){
$this->pr = "<img src="images/pr8.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 9){
$this->pr = "<img src="images/pr9.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}else{
$this->pr = "<img src="images/pr10.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}
}
function get_pr(){
return $this->pr;
}
}
?>
__________________________________________________ _
www.vietnammillionpixel.com


<?php
include("pagerank.php");
$gpr = new pageRank();
$gpr->printrank("http://www.yahoo.com");
//display image
echo $gpr->get_pr();
?>
viết 01:20 ngày 10/10/2018
công nhận hay......................................tuyệt. Thanks nhiều.
Mitxixipi viết 01:15 ngày 10/10/2018
Bác vào xem cái http://www.vn-zoom.com/rank.php
Hiện cả Google pagerank và Alexa ranking
Mitxixipi viết 01:17 ngày 10/10/2018
ặc ặc
sao lại ko thấy ??
Chạy ầm ầm mà
megane viết 01:20 ngày 10/10/2018
Uh, em thấy nó chạy vù vù, công nhận hay thật
forever78 viết 01:25 ngày 10/10/2018
Quote Được gửi bởi Mitxixipi View Post
ặc ặc
sao lại ko thấy ??
Chạy ầm ầm mà
Mình thấy cái này.

01 www.vn-zoom.com 0 / 10 1,208,094
forIt viết 01:19 ngày 10/10/2018
Uh code này mình đã thử làm rồi mới up lên cho anh em xem và rút kinh nghiệm hoặc áp dụng cho site của mình.
viết 01:19 ngày 10/10/2018
Quote Được gửi bởi forIt View Post
Uh code này mình đã thử làm rồi mới up lên cho anh em xem và rút kinh nghiệm hoặc áp dụng cho site của mình.
mình cũng đã sử dụng, rất ok, cảm ơn 1 lần nữa
Bài liên quan
0