Welcome our webmaster and SEO forum
Please enjoy the forum, contribute what you can, and wind up the Moderators!
Results 1 to 5 of 5

Thread: Page rank php script

  1. #1
    smudgeit is offline Member
    Join Date
    Apr 2007
    Posts
    32

    Default Page rank php script

    After trawling the web for a php page rank script that worked on 32bit and 64bit machines here it is

    Code:
    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
    
            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;
    }
    
    function getpagerank($url) {
    
    $fp = fsockopen("toolbarqueries.google.com", 80, $errno, $errstr, 30);
    if (!$fp) {
       echo "$errstr ($errno)<br />\n";
    } else {
     $out = "GET /search?client=navclient-auto&ch=".CheckHash(HashURL($url))."&features=Rank&q=info:".$url."&num=100&filter=0 HTTP/1.1\r\n";
    $out .= "Host: toolbarqueries.google.com\r\n";
    $out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; Windows XP 5.1)\r\n";
    $out .= "Connection: Close\r\n\r\n";
    
       fwrite($fp, $out);
       
       //$pagerank = substr(fgets($fp, 128), 4);
       //echo $pagerank;
       while (!feof($fp)) {
    	$data = fgets($fp, 128);
    	$pos = strpos($data, "Rank_");
    	if($pos === false){} else{
    		$pagerank = substr($data, $pos + 9);
    		echo $pagerank;
    	}
       }
       fclose($fp);
       
       }
    
    }
    
    //getpagerank('google.com');

  2. #2
    Bagi Zoltán's Avatar
    Bagi Zoltán is offline Boss Cart consultant
    Join Date
    Feb 2007
    Location
    Veszprém, Hungary
    Posts
    1,225

    Default

    I'm sorry but I'm not a programmer wizard How could we use it, as php extension or..?

  3. #3
    smudgeit is offline Member
    Join Date
    Apr 2007
    Posts
    32

    Default

    You can paste the lot into a file

    like usuual php file

    <?php


    that code here

    ?>

    then can get page rank for a url by running

    getpagerank('mydomain.com');


    make sense?

  4. #4
    Bagi Zoltán's Avatar
    Bagi Zoltán is offline Boss Cart consultant
    Join Date
    Feb 2007
    Location
    Veszprém, Hungary
    Posts
    1,225

    Default

    Of course, thanks for the answer. All my problem was that I didn't see any opening tag.

  5. #5
    smudgeit is offline Member
    Join Date
    Apr 2007
    Posts
    32

    Default

    No problem


    :wave:

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. iWT lost a page rank?
    By temi in forum General Webmaster Talk
    Replies: 9
    Last Post: 10-16-2007, 10:40 PM
  2. What Page Rank did you receive?
    By gkd_uk in forum Google
    Replies: 25
    Last Post: 05-05-2007, 10:21 AM
  3. Page Rank Question
    By AngelJill in forum Google
    Replies: 7
    Last Post: 05-04-2007, 07:32 AM
  4. Do you think it was a Page Rank update?
    By UK WW ex member in forum General Webmaster Talk
    Replies: 2
    Last Post: 01-20-2007, 01:42 PM
  5. Page Rank
    By Darksat in forum General Search Engine Discussions
    Replies: 3
    Last Post: 12-29-2004, 07:53 PM

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124