Salve, qualcuno conosce uno script per visualizzare in automatico il livello di page rank di un sito? Mi servirebbe però per una lista di siti in una pagina...

Ho questa pagina php esterna

Codice PHP:
<?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 
$c+=($url[$k+8]<<8);
   
/* the first byte of c is reserved for the length */
   
case $b+=($url[$k+7]<<24);
   case 
$b+=($url[$k+6]<<16);
   case 
$b+=($url[$k+5]<<8);
   case 
$b+=($url[$k+4]);
   case 
$a+=($url[$k+3]<<24);
   case 
$a+=($url[$k+2]<<16);
   case 
$a+=($url[$k+1]<<8);
   case 
$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$errstr30);
  if (!
$fp) {
     echo 
"$errstr ($errno)
\n"
;
  } else {
     
$out "GET /search?client=navclient-auto&ch=" $ch .  "&features=Rank&q=info:" $url " HTTP/1.1\r\n" ;
     
$out .= "Host: [url]www.google.com\r\n[/url]" ;
     
$out .= "Connection: Close\r\n\r\n" 
     
fwrite($fp$out);
     while (!
feof($fp)) {
       
$data fgets($fp128);
       
$pos strpos($data"Rank_");
         if(
$pos === false){
         }else{
           
$pagerank substr($data$pos 9);
           
$this->pr_image($pagerank);
         }
     }
     
fclose($fp);
  }
 }
//display pagerank image. Create your own or download images I made for this script. If you make your own make sure to call them pr0.gif, pr1.gif, pr2.gif etc.
 
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=\"immagini/pr9.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
   }
 }
 function 
get_pr(){
  return 
$this->pr;
 }
}
?>
E per visualizzare questo:

codice:
<?php
include("pagerank.php");
$gpr = new pageRank();
$gpr->printrank("http://www.yahoo.com");
//display image
echo $gpr->get_pr();
?>
Ma funziona soltanto 1 sola volta, la prima. Se metto il codice per visualizzare una seconda volta nella stessa pagina mi da errore.

Cosa c'è di sbagliato?*

Grazie