1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Need php Pagerank script

Discussion in 'PHP' started by kalius, Jun 14, 2005.

  1. #1
    Anyone know where I can get a php script for getting the pagerank of a page?

    Or a tutorial to create one?
    I need to setup te script so it check the PR of all the url in my database and writes the pr of each of them. thanks in advance
     
    kalius, Jun 14, 2005 IP
  2. Will.Spencer

    Will.Spencer NetBuilder

    Messages:
    14,789
    Likes Received:
    1,040
    Best Answers:
    0
    Trophy Points:
    375
    #2
    Will.Spencer, Jun 14, 2005 IP
  3. ecomic

    ecomic Guest

    Messages:
    21
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
  4. kalius

    kalius Peon

    Messages:
    599
    Likes Received:
    27
    Best Answers:
    0
    Trophy Points:
    0
    #4
    Thanks will I will see if it works on my setup
     
    kalius, Jun 15, 2005 IP
  5. kalius

    kalius Peon

    Messages:
    599
    Likes Received:
    27
    Best Answers:
    0
    Trophy Points:
    0
    #5
    The code will posted doesn't work, The conclusion I have is that the checksum function in that code is wrong or invalid. Ayone willing to share a working php script that checks PR, I need this to finish my directory submission tracker tool.
     
    kalius, Jun 16, 2005 IP
  6. Will.Spencer

    Will.Spencer NetBuilder

    Messages:
    14,789
    Likes Received:
    1,040
    Best Answers:
    0
    Trophy Points:
    375
    #6
    Will.Spencer, Jun 16, 2005 IP
  7. kalius

    kalius Peon

    Messages:
    599
    Likes Received:
    27
    Best Answers:
    0
    Trophy Points:
    0
    #7
    Its some math calculation probem on the server I guess, I tried on the other server I host and it works.
     
    kalius, Jun 16, 2005 IP
  8. Will.Spencer

    Will.Spencer NetBuilder

    Messages:
    14,789
    Likes Received:
    1,040
    Best Answers:
    0
    Trophy Points:
    375
    #8
    Spooky!

    I'm glad you got it working! :)
     
    Will.Spencer, Jun 16, 2005 IP
  9. kalius

    kalius Peon

    Messages:
    599
    Likes Received:
    27
    Best Answers:
    0
    Trophy Points:
    0
    #9
    Thanks Will Thats a great site you have there.
     
    kalius, Jun 16, 2005 IP
  10. dct

    dct Finder of cool gadgets

    Messages:
    3,132
    Likes Received:
    328
    Best Answers:
    0
    Trophy Points:
    230
    #10
    Could you fit any more Google Ads on that page, Will :)
     
    dct, Jun 16, 2005 IP
  11. Will.Spencer

    Will.Spencer NetBuilder

    Messages:
    14,789
    Likes Received:
    1,040
    Best Answers:
    0
    Trophy Points:
    375
    #11
    No, they won't let me. :D
     
    Will.Spencer, Jun 16, 2005 IP
  12. jbw

    jbw Peon

    Messages:
    343
    Likes Received:
    12
    Best Answers:
    0
    Trophy Points:
    0
    #12

    that code impliments the checkvalue that was used in versions of the tool bar before version 2.0.114 and was changed in that version and ones after this.

    It also was not authored by Raistlin Majere, all they seem to have done is wrap it in some html from the original version.
     
    jbw, Jun 16, 2005 IP
  13. rishirajsingh

    rishirajsingh Banned

    Messages:
    286
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #13
    I got this script from some blog and i edited it as per my requirement.
    Its working fine for single domain name but i couldnt get working form multiple domain name,
    anyone interested can make it working


    
    
    <?php
    
    //PageRank Lookup v1.1 by HM2K (update: 31/01/07)
    //based on an alogoritham found here: http://pagerank.gamesaga.net/
    
    //settings - host and user agent
    $googlehost='toolbarqueries.google.com';
    $googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
    
    //convert a string to a 32-bit integer
    function StrToNum($Str, $Check, $Magic) {
        $Int32Unit = 4294967296;  // 2^32
    
        $length = strlen($Str);
        for ($i = 0; $i < $length; $i++) {
            $Check *= $Magic; 	
            //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31), 
            //  the result of converting to integer is undefined
            //  refer to http://www.php.net/manual/en/language.types.integer.php
            if ($Check >= $Int32Unit) {
                $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
                //if the check less than -2^31
                $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
            }
            $Check += ord($Str{$i}); 
        }
        return $Check;
    }
    
    //genearate a hash for a url
    function HashURL($String) {
        $Check1 = StrToNum($String, 0x1505, 0x21);
        $Check2 = StrToNum($String, 0, 0x1003F);
    
        $Check1 >>= 2; 	
        $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
        $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
        $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);	
    	
        $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
        $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
    	
        return ($T1 | $T2);
    }
    
    //genearate a checksum for the hash string
    function CheckHash($Hashnum) {
        $CheckByte = 0;
        $Flag = 0;
    
        $HashStr = sprintf('%u', $Hashnum) ;
        $length = strlen($HashStr);
    	
        for ($i = $length - 1;  $i >= 0;  $i --) {
            $Re = $HashStr{$i};
            if (1 === ($Flag % 2)) {              
                $Re += $Re;     
                $Re = (int)($Re / 10) + ($Re % 10);
            }
            $CheckByte += $Re;
            $Flag ++;	
        }
    
        $CheckByte %= 10;
        if (0 !== $CheckByte) {
            $CheckByte = 10 - $CheckByte;
            if (1 === ($Flag % 2) ) {
                if (1 === ($CheckByte % 2)) {
                    $CheckByte += 9;
                }
                $CheckByte >>= 1;
            }
        }
    
        return '7'.$CheckByte.$HashStr;
    }
    
    //return the pagerank checksum hash
    function getch($url) { return CheckHash(HashURL($url)); }
    
    //return the pagerank figure
    function getpr($url) {
    	global $googlehost,$googleua;
    	$ch = getch($url);
    	$fp = fsockopen($googlehost, 80, $errno, $errstr, 30);
    	if ($fp) {
    	   $out = "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";
    	   //echo "<pre>$out</pre>\n"; //debug only
    	   $out .= "User-Agent: $googleua\r\n";
    	   $out .= "Host: $googlehost\r\n";
    	   $out .= "Connection: Close\r\n\r\n";
    	
    	   fwrite($fp, $out);
    	   
    	   //$pagerank = substr(fgets($fp, 128), 4); //debug only
    	   //echo $pagerank; //debug only
    	   while (!feof($fp)) {
    			$data = fgets($fp, 128);
    			//echo $data;
    			$pos = strpos($data, "Rank_");
    			if($pos === false){} else{
    				$pr=substr($data, $pos + 9);
    				$pr=trim($pr);
    				$pr=str_replace("\n",'',$pr);
    				echo $pr;				// printing pagerank rishi
    				return $pr;
    			}
    	   }
    	   //else { echo "$errstr ($errno)<br />\n"; } //debug only
    	   fclose($fp);
    	}
    }
    
    //generate the graphical pagerank
    function pagerank($url,$width=40,$method='style') {
    	if (!preg_match('/^(http:\/\/)?([^\/]+)/i', $url)) { $url='http://'.$url; }
    	$pr=getpr($url);
    	$pagerank="PageRank: $pr/10";
    
    	//The (old) image method
    	if ($method == 'image') {
    	$prpos=$width*$pr/10;
    	$prneg=$width-$prpos;
    	$html='<img src="http://www.google.com/images/pos.gif" width='.$prpos.' height=4 border=0 alt="'.$pagerank.'"><img src="http://www.google.com/images/neg.gif" width='.$prneg.' height=4 border=0 alt="'.$pagerank.'">';
    	}
    	//The pre-styled method
    	if ($method == 'style') {
    	$prpercent=100*$pr/10;
    	$html='<div style="position: relative; width: '.$width.'px; padding: 0; background: #D9D9D9;"><strong style="width: '.$prpercent.'%; display: block; position: relative; background: #5EAA5E; text-align: center; color: #333; height: 4px; line-height: 4px;"><span></span></strong></div>';
    	}
    	
    	$out='<a href="'.$url.'" title="'.$pagerank.'">'.$html.'</a>';
    	return $out;
    }
    
    if ((!isset($_POST['urls'])) && (!isset($_GET['urls'])))
    { echo '<center><form action="" method="post"><textarea name="urls" cols="36" rows="9"></textarea><br><input type="submit" name="Submit" value="Get Pagerank"></form></center>'; }
    if (isset($_POST['urls'])) 
    {  
    	$tempurls=$_POST['urls'];
    	$pieces = explode("\n", $tempurls);
    	$size=sizeof($pieces);
    		for ($j=0; $j<$size; $j++)
    		{		
    		$url=$pieces[$j];
    		echo $pieces[$j].pagerank($pieces[$j]);
    		}
    
    }
    ?>
    
    
    
    Code (markup):
     
    rishirajsingh, Aug 31, 2007 IP
  14. Kuldeep1952

    Kuldeep1952 Active Member

    Messages:
    290
    Likes Received:
    18
    Best Answers:
    0
    Trophy Points:
    60
    #14
    A corrected version of the above script is in This thread
     
    Kuldeep1952, Aug 31, 2007 IP
  15. ivenms

    ivenms Peon

    Messages:
    334
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    0
    #15
    What is the error with this code?

    I made it execute successfully..
     
    ivenms, Sep 1, 2007 IP
  16. rishirajsingh

    rishirajsingh Banned

    Messages:
    286
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #16
    rishirajsingh, Sep 6, 2007 IP
  17. Deep 888

    Deep 888 Peon

    Messages:
    988
    Likes Received:
    15
    Best Answers:
    0
    Trophy Points:
    0
    #17
    Deep 888, Dec 10, 2009 IP
  18. warteg

    warteg Active Member

    Messages:
    1,387
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    80
    #18
    warteg, Jun 6, 2010 IP
  19. aeroz1

    aeroz1 Active Member

    Messages:
    492
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    53
    #19
    Try a search on google, there are plenty of solutions around.

    Here is one I just found;
    Page Rank Code: free PHP script for Google PageRank
     
    aeroz1, Jun 7, 2010 IP
  20. onlinemoneytips

    onlinemoneytips Peon

    Messages:
    8
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    1
    #20
    any one uplod zip file ?
     
    onlinemoneytips, Feb 6, 2013 IP