eBay - Payday Loans - Web Games - Loan - Loan

PDA

View Full Version : This pagerank script doesn't work on my new host?


fcmisc
Feb 6th 2008, 11:32 am
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']);

x11joex11
Feb 7th 2008, 1:16 am
When I run your code I see this.

http://dnfinder.com/rentacoder/pagerank2.php?url=yahoo.com

Any idea why? I can't seem to get it to work at all. (I just commented back in data so you can see what it's grabbing).

x11joex11
Feb 7th 2008, 4:58 pm
Does anyone have anything that works?

fcmisc
Feb 10th 2008, 8:57 am
Your feedback inspired me to type pagerank script forbidden into google, and I found the following script which works for me:

http://www.hm2k.com/?dl=pagerank.phps

picobello
Feb 10th 2008, 12:27 pm
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?

x11joex11
Feb 10th 2008, 4:58 pm
fcmisc your script worked!

http://dnfinder.com/rentacoder/pagerank3.php?url=yahoo.com

Thanks so much =).