<?phpdefine('GOOGLE_MAGIC', 0xE6359A60);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 ^= (zeroFill($c,13));
 $b -= $c; $b -= $a; $b ^= ($a<<8);
 $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
 $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
 $b -= $c; $b -= $a; $b ^= ($a<<16);
 $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
 $a -= $b; $a -= $c; $a ^= (zeroFill($c,3)); 
 $b -= $c; $b -= $a; $b ^= ($a<<10);
 $c -= $a; $c -= $b; $c ^= (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 = 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);
 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 = mix($a,$b,$c);
 return $mix[2];
}function strord($string) {
 for($i=0;$i<strlen($string);$i++) {
 $result[$i] = ord($string{$i});
 }
 return $result;
}function ReadPR($link)
{
 $fp = fsockopen ("www.google.com", 80, $errno, $errstr, 30); if (!$fp) 
 {
 echo "$errstr ($errno)\n";
 exit(1);
 }
 else
 {
 $out = "GET $link HTTP/1.0\r\n";
 $out .= "Host: toolbarqueries.google.com\r\n";
 $out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114.9-big; Windows 5.2)\r\n";
 $out .= "Connection: Close\r\n\r\n";
 fwrite($fp, $out);
 
 do{ 
 $line = fgets($fp, 128); 
 }while ($line !== "\r\n");
 $data = fread($fp,8192); 
 fclose ($fp);
 return $data;
 }
} function GetPR($url) 
{
 $url ='info:'.$url;
 $ch = GoogleCH(strord($url));
 $data = ReadPR("/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url"); 
 $rankarray = explode (':', $data);
 return $rankarray[2];
}$provider = '<br /><br />Provided by <a href="http://www.eliuzd.com/" target="_blank">eliuzd.com</a>';
if ( isset($_POST['url']) && $_POST['url'] !== '' )
{
 echo 'PageRank: '.GetPR($_POST['url']).$provider;
}
else 
{
 echo "<html><title>Get PageRank From Google.com</title><body>PageRank(PR) Querying Script<br />";
 echo "<form action='' method='post'>"."<br />URL:<input name='url' value='http://' type='text' size=40>";
 echo "<input name='submit' type='submit' value='Get PR'></form>".$provider."</body></html>"; 
}?>

解决方案 »

  1.   

    function getContent( $url, $start, $end )
    {
    $content = implode( '', file( $url ) );
        $content = substr( strstr( $content, $start ), strlen($start) );
        $content = substr_replace( $content, '', strpos( $content, $end ) );
    return $content;
    }function pageRank( $domain )
    {
    global $template; $urlF  = 'http://rankwhere.com/google-page-rank.php?url=' . $domain;
    $urlS  = 'http://rankwhere.com/google-page-rank.php?url=www.' . $domain;
    $rankF = getContent( $urlF, 'has Google PageRank ' , ' out of 10' );
    $rankS = getContent( $urlS, 'has Google PageRank ' , ' out of 10' );
    $rankF  = intval( $rankF );
    $rankS  = intval( $rankS );
    $body  = '<div align=left>www.' . $domain . '在满分10分评价中获得 <b>' . $rankS . '</b> 分&nbsp;&nbsp;|&nbsp;&nbsp;' . $domain . '在满分10分评价中获得 <b>' . $rankF . '</b> 分</div>';; $arrayVar = array ( 'CHECK_CAT'  => 'dopagerank',
    'RESULT_BODY'=> $body
      );
    $template->deal( 'template/frameBody.tpl', $arrayVar ); return $template->template;
    }