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.

This pagerank script doesn't work on my new host?

Discussion in 'PHP' started by fcmisc, Feb 6, 2008.

  1. #1
    Hi,

    I've moved host to bluehost and most things have been runnign smoothly, but my page rank script has stopped working. it still works on my old host. Please could someone help me fix this. The script that works on my original host is at the bottom of this post. I've also tried the script here: http://www.webmasterworld.com/php/3318556.htm, but get this error:

    Parse error: syntax error, unexpected T_STRING in /home/dawjeeco/public_html/pr.php on line 34

    My PHP version is PHP Version 4.4.7. Line 34 is:

    $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) ¦ ($Check1 & 0x3F);

    Cheers,

    fcmisc.

    <?php
    define('GOOGLE_MAGIC', 0xE6359A60);
    class pageRank{
    var $pr;
    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 ^= ($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);
    }

    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 = $this->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);
    /* the first byte of c is reserved for the length */
    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 = $this->mix($a,$b,$c);
    /* report the result */
    return $mix[2];
    }

    //converts a string into an array of integers containing the numeric value of the char

    function strord($string) {
    for($i=0;$i<strlen($string);$i++) {
    $result[$i] = ord($string{$i});
    }
    return $result;
    }

    function getrank($url){
    $ch = "6".$this->GoogleCH($this->strord("info:" . $url));

    $fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "ERROR: $errstr ($errno)<br />\n";
    } else {
    $out = "GET /search?client=navclient-auto&ch=" . $ch . "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n" ;
    $out .= "Host: www.google.com\r\n" ;
    $out .= "Connection: Close\r\n\r\n" ;
    fwrite($fp, $out);
    while (!feof($fp)) {
    $data = fgets($fp, 128);
    //echo '---' . $data;
    $pos = strpos($data, "Rank_");
    if($pos === false){
    }else{
    $pagerank = substr($data, $pos + 9);
    $this->pr_image($pagerank);
    }
    }
    fclose($fp);

    return $pagerank;
    }
    }

    function printrank($url){
    $ch = "6".$this->GoogleCH($this->strord("info:" . $url));

    $fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "ERROR: $errstr ($errno)<br />\n";
    } else {
    $out = "GET /search?client=navclient-auto&ch=" . $ch . "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n" ;
    $out .= "Host: www.google.com\r\n" ;
    $out .= "Connection: Close\r\n\r\n" ;
    fwrite($fp, $out);
    while (!feof($fp)) {
    $data = fgets($fp, 128);
    //echo '---' . $data;
    $pos = strpos($data, "Rank_");
    if($pos === false){
    }else{
    $pagerank = substr($data, $pos + 9);
    $this->pr_image($pagerank);
    }
    }
    fclose($fp);

    echo $pagerank;
    }
    }
    //display pagerank image. Create your own or download images I made for this script. If you make your own make sure to call them pr0.gif, pr1.gif, pr2.gif etc.
    function pr_image($pagerank){
    if($pagerank == 0){
    $this->pr = "<img src=\"images/pr0.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 1){
    $this->pr = "<img src=\"images/pr1.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 2){
    $this->pr = "<img src=\"images/pr2.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 3){
    $this->pr = "<img src=\"images/pr3.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 4){
    $this->pr = "<img src=\"images/pr4.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 5){
    $this->pr = "<img src=\"images/pr5.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 6){
    $this->pr = "<img src=\"images/pr6.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 7){
    $this->pr = "<img src=\"images/pr7.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 8){
    $this->pr = "<img src=\"images/pr8.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }elseif($pagerank == 9){
    $this->pr = "<img src=\"images/pr9.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }else{
    $this->pr = "<img src=\"images/pr10.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
    }
    }
    function get_pr(){
    return $this->pr;
    }
    }

    $gpr = new pageRank();

    $gpr->printrank($_GET['url']);
     
    fcmisc, Feb 6, 2008 IP
  2. x11joex11

    x11joex11 Peon

    Messages:
    106
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    x11joex11, Feb 7, 2008 IP
  3. x11joex11

    x11joex11 Peon

    Messages:
    106
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Does anyone have anything that works?
     
    x11joex11, Feb 7, 2008 IP
  4. fcmisc

    fcmisc Active Member

    Messages:
    701
    Likes Received:
    19
    Best Answers:
    0
    Trophy Points:
    93
    #4
    fcmisc, Feb 10, 2008 IP
    x11joex11 likes this.
  5. picobello

    picobello Well-Known Member

    Messages:
    572
    Likes Received:
    17
    Best Answers:
    0
    Trophy Points:
    110
    #5
    x11joex11,
    I had the same: I changed hosting and it did not work any more
    I finally discovered that the PR script is not compatible with 64 bits hosting machines
    Is your new hosting 64 bits powered?
     
    picobello, Feb 10, 2008 IP
  6. x11joex11

    x11joex11 Peon

    Messages:
    106
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #6
    x11joex11, Feb 10, 2008 IP