NamePros
Welcome, Guest! Ready to make a name for yourself in the domain business? We welcome both the hobbyist and professional domainer to join the discussion as part of the NamePros community.

Click here to create your profile to start earning reputation for posting, and trader ratings for buying & selling in our free e-marketplace. Build your trader rating with each successful sale. Our system has tracked over 100,000 sales and counting!
FAQ & TOS Register Search Today's Posts Mark Forums Read

Go Back   NamePros.com > Website Development Discussion Forums > Programming > CODE
Reload this Page PHP5 class to get Google PageRank

CODE This forum is for posting code snippets and example scripts that aren't quite tutorials, but could be useful for others. You may post code snippets and/or completed scripts that you've written and want to share here.

Advanced Search


Closed Thread
 
LinkBack Thread Tools
Old 04-02-2006, 12:18 AM THREAD STARTER               #1 (permalink)
NamePros Member
Join Date: Mar 2006
Posts: 62
123finder.com is an unknown quantity at this point
 



PHP5 class to get Google PageRank


This PHP5 class computes the Google PR for any URL. Source code is available online and this is the PHP5 version, can be plugged into any application/software.

PHP Code:
<?php
/** source available online in public domain
* @author Son Nguyen
* @since 3/30/2006
* @package Framework
* @subpackage WebServices
*/
class CGooglePR {
  
/** constructor */
  
function __construct() {
  }

  function 
getRank($pURL) {
    
$pURL 'info:'.$pURL;
    
$ch $this->GoogleCH($this->strord($pURL));
    
$vFile "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=".$pURL;
    
$data file($vFile);
    
$rankarray explode (':'$data[2]);
    
$rank $rankarray[2];
    return 
intval($rank);
  }

  
/** unsigned shift right */
  
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);
    } 
// fi
    
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);
  }

  
/** converts a string into an array of integers containing the numeric value of the char */
  
function strord($pStr) {
    
$vResult = array();
    for(
$i=0;$i<strlen($pStr);$i++) {
      
$vResult[$i] = ord($pStr{$i});
      } 
// rof
    
return $vResult;
  }

  function 
GoogleCH($url,$length=null,$init=0xE6359A60) {
????: NamePros.com http://www.namepros.com/code/182948-php5-class-to-get-google-pagerank.html
    if(
is_null($length)) {
      
$length sizeof($url);
    } 
// fi

    
$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));
????: NamePros.com http://www.namepros.com/showthread.php?t=182948
      
$mix $this->mix($a,$b,$c);
      
$a $mix[0]; $b $mix[1]; $c $mix[2];
      
$k += 12;
      
$len -= 12;
    } 
// rof

    
$c += $length;
    switch(
$len) {
      case 
11$c+=($url[$k+10]<<24);
      case 
10$c+=($url[$k+9]<<16);
      case 
$c+=($url[$k+8]<<8);
      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]);
      
/* case 0: nothing left to add */
    
// esac

    
$mix $this->mix($a,$b,$c);
    return 
$mix[2];
  }
}
?>
__________________
123finder.com - Browse dictionary domains & 4-9 letter domains
123finder.com is offline  
Old 04-15-2006, 03:03 AM   #2 (permalink)
Professional Monkey
 
Amnezia's Avatar
Join Date: Jul 2005
Location: Escaped from the zoo
Posts: 907
Amnezia has a spectacular aura aboutAmnezia has a spectacular aura about
 


Cancer Survivorship Save a Life
i couldnt get this class to work
__________________
Webmaster Words
Amnezia is offline  
Old 04-19-2006, 07:33 PM   #3 (permalink)
NamePros Member
Join Date: Apr 2006
Location: NY
Posts: 32
cashboy is an unknown quantity at this point
 



Originally Posted by Amnezia
i couldnt get this class to work
What version of PHP is installed on your server? The class won't work if it is 4 or lesser than that as suggeseted by the title. And did you get any parsing error message?
__________________
- Steve :$: :)
cashboy is offline  
Closed Thread


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools


Liquid Web Smart Servers  
All times are GMT -7. The time now is 06:08 AM.

Managed Web Hosting by Liquid Web
Domain name forum recommended by Domaining.com Powered by: vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0 Ad Management plugin by RedTyger