[advanced search]
Results from the most recent live auction are here.
31 members in the live chat room. Join Chat!
Register Rules & FAQ NP$ Store Active Threads Mark Forums Read
Go Back   NamePros.Com > Design and Development > Programming > CODE
User Name
Password

Old 04-01-2006, 11:18 PM   · #1
123finder.com
NamePros Member
 
Trader Rating: (0)
Join Date: Mar 2006
Posts: 62
NP$: 0.00 (Donate)
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) {
    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));
      
$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
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]);
      
/* case 0: nothing left to add */
    
} // esac

    
$mix = $this->mix($a,$b,$c);
    return
$mix[2];
  }
}
?>


Please register or log-in into NamePros to hide ads
__________________
123finder.com - Browse dictionary domains & 4-9 letter domains
123finder.com is offline   Reply With Quote
Old 04-15-2006, 02:03 AM   · #2
Amnezia
SEO and Marketing Guy
 
Amnezia's Avatar
 
Location: Escaped from the zoo
Trader Rating: (8)
Join Date: Jul 2005
Posts: 907
NP$: 398.50 (Donate)
Amnezia has a spectacular aura aboutAmnezia has a spectacular aura about
Cancer Survivorship
i couldnt get this class to work
Amnezia is offline   Reply With Quote
Old 04-19-2006, 06:33 PM   · #3
cashboy
NamePros Member
 
Name: Steve
Location: NY
Trader Rating: (0)
Join Date: Apr 2006
Posts: 32
NP$: 0.00 (Donate)
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   Reply With Quote
Closed Thread

NamePros is a revenue sharing forum.

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


Site Sponsors
Get Your Site Linked at LinkedKeywords.com Get Your Site Linked at LinkedKeywords.com
Advertise your business at NamePros
All times are GMT -7. The time now is 03:33 PM.


Powered by: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0