Dynadot โ€” .com Transfer

Wanted - Script to Display Yahoo inlinks,Alexa ranking and Google PR

SpaceshipSpaceship
Watch

T D S

Established Member
Impact
9
Does anyone know how I would go about making it so I could display a live

Yahoo Inlink result, Alexa Ranking and Current PR

So would look like this

0,000,000 - Inbound Links | 0,000,000 - Alexa Ranking. | Page Rank: 0

Dont want to display the badges would like to give live text results like the above example. However I have no luck searching for any information on achieving these types of results.

Thank you
 
0
•••
The views expressed on this page by users and staff are their own, not those of NamePros.
GoDaddyGoDaddy
These aren't exactly spot on, but they should be alright

Parse URL:

PHP:
$this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
			$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);

Get Page Function

PHP:
	function getPage ($url) {
			if (function_exists('curl_init')) {
				$ch = curl_init($url);
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
				@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
				curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
				return curl_exec($ch);
			} else {
				return file_get_contents($url);
			}
		}

Alexa Rank:

PHP:
		function getAlexaRank() {
			$url = $this->url['host'];
			$url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
			$data = $this->getPage($url);
			preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
			$value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
			echo "\tAlexa Rank: $value\n";
		
		}

Yahoo rank

PHP:
		function getBacklinksYahoo() {
			$url = $this->url['host'];
			$url = 'http://siteexplorer.search.yahoo.com/search?p=' . urlencode("http://$url") . '&bwm=i';
			$data = $this->getPage($url);
			preg_match('#Inlinks \(([0-9,]+){1,}\)#si', $data, $p);
			$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
			echo "\tYahoo Backlinks: $value\n";
		}

Google PR Checksum gen

PHP:
		function toInt ($string) {
			return preg_replace('#[^0-9]#si', '', $string);
		}
		
		function to_int_32 (&$x) {
			$z = hexdec(80000000);
			$y = (int) $x;
			if($y ==- $z && $x <- $z){
				$y = (int) ((-1) * $x);
				$y = (-1) * $y;
			}
			$x = $y;
		}
		
		function zero_fill ($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; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 13)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 8));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 13)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 12)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 16));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 5)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 3)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 10));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 15)));
			return array($a,$b,$c);
		}
		
		function checksum ($url, $length = null, $init = 0xE6359A60) {
			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);
				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);
			return $mix[2];
		}
		
		function strord ($string) {
			for($i = 0; $i < strlen($string); $i++) {
				$result[$i] = ord($string{$i});
			}
			return $result;
		}

Google PR

PHP:
		function getPagerank () {
			$url = 'info:' . $this->url['host'];
			$checksum = $this->checksum($this->strord($url));
			$url = "http://www.google.com/search?client=navclient-auto&ch=6$checksum&features=Rank&q=$url";
			$data = $this->getPage($url);
			preg_match('#Rank_[0-9]:[0-9]:([0-9]+){1,}#si', $data, $p);
			$value = ($p[1]) ? $p[1] : 0;
			echo "\tPR: $value\n";
		}
 
Last edited:
0
•••
Thank you Danltn now if I only knew how to implement this I tried to add these to a php page and got a parse error since it was showing and error for http:// figured I had to physically add an address so in
Code:
$this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
            $this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);

I added my url to this line

Code:
$this->url = parse_url('http://mysite.com' . ereg_replace('^http://', '', $url));
            $this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);

No more error but was a blank page. Will continue to try to figure it out. If someone could explain how to make this work I would appreciate.
 
0
•••
If you just want it ready-made...

Code:
	<html><head>
	
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"><title>Lookup</title>
		
		<style type="text/css" media="screen"><!--
body 
	{
	color: black;
	background-color: #fff;
	margin: 0px
	}

#horizon        
	{
	color: black;
	background-color: #fff;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0px;
	width: 100%;
	height: 1px;
	overflow: visible;
	visibility: visible;
	display: block
	}

#content    
	{
	font-family: Verdana, Geneva, Arial, sans-serif;
	background-color: lightblue;
	margin-left: -170px;
	position: absolute;
	top: -100px;
	left: 50%;
	width: 340px;
	height: 200px;
	visibility: visible

	}


--></style></head>

<?php
if (empty($_GET['url'])) { ?>




	
<body>

<div id="horizon">
			<div id="content" style="padding-top:30;height:120px;top:-55px;">
				
<center>				
<FORM METHOD="GET" ACTION="./lookup.php">
<span style="color:darkblue;font-weight:700;">URL</span>:<br /> <INPUT name="url" width="40" style="width:300;margin-top:10;font-size:24px;"><br />
<INPUT TYPE="submit" VALUE=Lookup style="width:200px;margin-top:10;">
</FORM>
</center>

</div>

				</div>


</body></html>


<?php } else {  ?>



<?php

	$url=$_REQUEST[url];

	class pagerank {
	

		
		var $url;
		
		function pagerank ($url, $options) {
			$this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
			$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);
			if ($options['pagerank']) {
				$this->getPagerank();
			}
			if ($options['alexaRank']) {
				$this->getAlexaRank();
			}
			if ($options['backlinksGoogle']) {
				$this->getBacklinksGoogle();
			}
			if ($options['backlinksYahoo']) {
				$this->getBacklinksYahoo();
			}			
		
		}
		
		function getPage ($url) {
			if (function_exists('curl_init')) {
				$ch = curl_init($url);
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
				@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
				curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
				return curl_exec($ch);
			} else {
				return file_get_contents($url);
			}
		}
		
		function getPagerank () {
			$url = 'info:' . $this->url['host'];
			$checksum = $this->checksum($this->strord($url));
			$url = "http://www.google.com/search?client=navclient-auto&ch=6$checksum&features=Rank&q=$url";
			$data = $this->getPage($url);
			preg_match('#Rank_[0-9]:[0-9]:([0-9]+){1,}#si', $data, $p);
			$value = ($p[1]) ? $p[1] : 0;
			echo "<tr><td>Pagerank:</td> <td>$value</td></tr>";
		}
		
		function getAlexaRank() {
			$url = $this->url['host'];
			$url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
			$data = $this->getPage($url);
			preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
			$value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
			echo "<tr><td>Alexa Rank:</td> <td>$value</td></tr>";
		
		}
		
		
		function getBacklinksGoogle() {
			$url = $this->url['host'];
			$url = 'http://www.google.com/search?q=link%3A' . urlencode($url);
			$data = $this->getPage($url);
			preg_match('#of about <b>([0-9,]+){1,}#si', $data, $p);
			$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
			echo "<tr><td>Google Backlinks:</td> <td>$value</td></tr>";
		}
		
		function getBacklinksYahoo() {
			$url = $this->url['host'];
			$url = 'http://siteexplorer.search.yahoo.com/search?p=' . urlencode("http://$url") . '&bwm=i';
			$data = $this->getPage($url);
			preg_match('#Inlinks \(([0-9,]+){1,}\)#si', $data, $p);
			$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
			echo "<tr><td>Yahoo Backlinks:</td> <td>$value</td></tr>";
		}
		
		function toInt ($string) {
			return preg_replace('#[^0-9]#si', '', $string);
		}
		
		function to_int_32 (&$x) {
			$z = hexdec(80000000);
			$y = (int) $x;
			if($y ==- $z && $x <- $z){
				$y = (int) ((-1) * $x);
				$y = (-1) * $y;
			}
			$x = $y;
		}
		
		function zero_fill ($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; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 13)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 8));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 13)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 12)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 16));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 5)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 3)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 10));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 15)));
			return array($a,$b,$c);
		}
		
		function checksum ($url, $length = null, $init = 0xE6359A60) {
			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);
				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);
			return $mix[2];
		}
		
		function strord ($string) {
			for($i = 0; $i < strlen($string); $i++) {
				$result[$i] = ord($string{$i});
			}
			return $result;
		}
		
	}
?>
<body>
<div id="horizon">
			<div id="content" style="color:darkblue;">

				
				
<center>				
<FORM METHOD="GET" ACTION="./lookup.php">
<span style="color:darkblue;font-weight:700;">URL</span>: <INPUT name="url" width="40" style="width:200;margin-top:10;">
<INPUT TYPE="submit" VALUE=Lookup style="width:60;">
</FORM>
<TABLE BORDER=0>
  <CAPTION>Lookup Data</CAPTION>
  <TR><TH><?php echo $_GET['url']; ?></TH></TR>
  

<?php

	$options = array(
		'pagerank' => true,
		'alexaRank' => true,
		'backlinksGoogle' => true,
		'backlinksYahoo' => true,


	);
	new pagerank(urldecode($_GET['url']), $options);
	
	?>
</table>

				</div>
				</div>

<?php } ?>

You can easily change the layout as required.
 
0
•••
That is a cool tool. I will add that one to my SEO site :)

Should have posted this link in the first post I am trying to achieve the same look this site has
ebizmba.com/articles/social30.html
Just with fewer results.. Want to add it to a blog so at a glance I can see the stats of my sites
 
0
•••
If that's what you want, here:

dataview.php

PHP:
<?php

	$url=$_REQUEST[url];

	class pagerank {
	

		
		var $url;
		
		function pagerank ($url, $options) {
			$this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
			$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);
			if ($options['pagerank']) {
				$this->getPagerank();
			}
			if ($options['alexaRank']) {
				$this->getAlexaRank();
			}
			if ($options['backlinksGoogle']) {
				$this->getBacklinksGoogle();
			}
			if ($options['backlinksYahoo']) {
				$this->getBacklinksYahoo();
			}			
		
		}
		
		function getPage ($url) {
			if (function_exists('curl_init')) {
				$ch = curl_init($url);
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
				@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
				curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
				return curl_exec($ch);
			} else {
				return file_get_contents($url);
			}
		}
		
		function getPagerank () {
			$url = 'info:' . $this->url['host'];
			$checksum = $this->checksum($this->strord($url));
			$url = "http://www.google.com/search?client=navclient-auto&ch=6$checksum&features=Rank&q=$url";
			$data = $this->getPage($url);
			preg_match('#Rank_[0-9]:[0-9]:([0-9]+){1,}#si', $data, $p);
			$value = ($p[1]) ? $p[1] : 0;
			echo "Pagerank: $value ";
		}
		
		function getAlexaRank() {
			$url = $this->url['host'];
			$url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
			$data = $this->getPage($url);
			preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
			$value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
			echo "Alexa Rank: $value ";
		
		}
		
		
		function getBacklinksGoogle() {
			$url = $this->url['host'];
			$url = 'http://www.google.com/search?q=link%3A' . urlencode($url);
			$data = $this->getPage($url);
			preg_match('#of about <b>([0-9,]+){1,}#si', $data, $p);
			$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
			echo "Google Backlinks: $value ";
		}
		
		function getBacklinksYahoo() {
			$url = $this->url['host'];
			$url = 'http://siteexplorer.search.yahoo.com/search?p=' . urlencode("http://$url") . '&bwm=i';
			$data = $this->getPage($url);
			preg_match('#Inlinks \(([0-9,]+){1,}\)#si', $data, $p);
			$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
			echo "Yahoo Backlinks: $value ";
		}
		
		function toInt ($string) {
			return preg_replace('#[^0-9]#si', '', $string);
		}
		
		function to_int_32 (&$x) {
			$z = hexdec(80000000);
			$y = (int) $x;
			if($y ==- $z && $x <- $z){
				$y = (int) ((-1) * $x);
				$y = (-1) * $y;
			}
			$x = $y;
		}
		
		function zero_fill ($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; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 13)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 8));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 13)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 12)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 16));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 5)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 3)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 10));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 15)));
			return array($a,$b,$c);
		}
		
		function checksum ($url, $length = null, $init = 0xE6359A60) {
			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);
				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);
			return $mix[2];
		}
		
		function strord ($string) {
			for($i = 0; $i < strlen($string); $i++) {
				$result[$i] = ord($string{$i});
			}
			return $result;
		}
		
	}
?>
<body>


<?php

	$options = array(
		'pagerank' => true,
		'alexaRank' => true,
		'backlinksGoogle' => true,
		'backlinksYahoo' => true,


	);
	new pagerank(urldecode($_GET['url']), $options);
	
	?>
	</body>
	</html>

fullview.php

PHP:
	<html><head>
	
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"><title>Lookup</title>
		
		<style type="text/css" media="screen"><!--
body 
	{
	color: black;
	background-color: #fff;
	margin: 0px
	}

#horizon        
	{
	color: black;
	background-color: #fff;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0px;
	width: 100%;
	height: 1px;
	overflow: visible;
	visibility: visible;
	display: block
	}

#content    
	{
	font-family: Verdana, Geneva, Arial, sans-serif;
	background-color: lightblue;
	margin-left: -170px;
	position: absolute;
	top: -100px;
	left: 50%;
	width: 340px;
	height: 200px;
	visibility: visible

	}


--></style></head><?php

	$url=$_REQUEST[url];

	class pagerank {
	

		
		var $url;
		
		function pagerank ($url, $options) {
			$this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
			$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);
			if ($options['pagerank']) {
				$this->getPagerank();
			}
			if ($options['alexaRank']) {
				$this->getAlexaRank();
			}
			if ($options['backlinksGoogle']) {
				$this->getBacklinksGoogle();
			}
			if ($options['backlinksYahoo']) {
				$this->getBacklinksYahoo();
			}			
		
		}
		
		function getPage ($url) {
			if (function_exists('curl_init')) {
				$ch = curl_init($url);
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
				@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
				curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
				return curl_exec($ch);
			} else {
				return file_get_contents($url);
			}
		}
		
		function getPagerank () {
			$url = 'info:' . $this->url['host'];
			$checksum = $this->checksum($this->strord($url));
			$url = "http://www.google.com/search?client=navclient-auto&ch=6$checksum&features=Rank&q=$url";
			$data = $this->getPage($url);
			preg_match('#Rank_[0-9]:[0-9]:([0-9]+){1,}#si', $data, $p);
			$value = ($p[1]) ? $p[1] : 0;
			echo "<tr><td>Pagerank:</td> <td>$value</td></tr>";
		}
		
		function getAlexaRank() {
			$url = $this->url['host'];
			$url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
			$data = $this->getPage($url);
			preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
			$value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
			echo "<tr><td>Alexa Rank:</td> <td>$value</td></tr>";
		
		}
		
		
		function getBacklinksGoogle() {
			$url = $this->url['host'];
			$url = 'http://www.google.com/search?q=link%3A' . urlencode($url);
			$data = $this->getPage($url);
			preg_match('#of about <b>([0-9,]+){1,}#si', $data, $p);
			$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
			echo "<tr><td>Google Backlinks:</td> <td>$value</td></tr>";
		}
		
		function getBacklinksYahoo() {
			$url = $this->url['host'];
			$url = 'http://siteexplorer.search.yahoo.com/search?p=' . urlencode("http://$url") . '&bwm=i';
			$data = $this->getPage($url);
			preg_match('#Inlinks \(([0-9,]+){1,}\)#si', $data, $p);
			$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
			echo "<tr><td>Yahoo Backlinks:</td> <td>$value</td></tr>";
		}
		
		function toInt ($string) {
			return preg_replace('#[^0-9]#si', '', $string);
		}
		
		function to_int_32 (&$x) {
			$z = hexdec(80000000);
			$y = (int) $x;
			if($y ==- $z && $x <- $z){
				$y = (int) ((-1) * $x);
				$y = (-1) * $y;
			}
			$x = $y;
		}
		
		function zero_fill ($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; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 13)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 8));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 13)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 12)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 16));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 5)));
			$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 3)));
			$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 10));
			$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 15)));
			return array($a,$b,$c);
		}
		
		function checksum ($url, $length = null, $init = 0xE6359A60) {
			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);
				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);
			return $mix[2];
		}
		
		function strord ($string) {
			for($i = 0; $i < strlen($string); $i++) {
				$result[$i] = ord($string{$i});
			}
			return $result;
		}
		
	}
?>
<body>
<div id="horizon">
			<div id="content" style="color:darkblue;">

				
				
<center>				
<FORM METHOD="GET" ACTION="./index.php">
<span style="color:darkblue;font-weight:700;">URL</span>: <INPUT name="url" width="40" style="width:200;margin-top:10;">
<INPUT TYPE="submit" VALUE=Lookup style="width:60;">
</FORM>
<TABLE BORDER=0>
  <CAPTION>Lookup Data</CAPTION>
  <TR><TH><?php echo $_GET['url']; ?></TH></TR>
  

<?php

	$options = array(
		'pagerank' => true,
		'alexaRank' => true,
		'backlinksGoogle' => true,
		'backlinksYahoo' => true,


	);
	new pagerank(urldecode($_GET['url']), $options);
	
	?>
</table>

				</div>
				</div>

form.php

PHP:
<html><head>
	
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"><title>Lookup</title>
		
		<style type="text/css" media="screen"><!--
body 
	{
	color: black;
	background-color: #fff;
	margin: 0px
	}

#horizon        
	{
	color: black;
	background-color: #fff;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0px;
	width: 100%;
	height: 1px;
	overflow: visible;
	visibility: visible;
	display: block
	}

#content    
	{
	font-family: Verdana, Geneva, Arial, sans-serif;
	background-color: lightblue;
	margin-left: -170px;
	position: absolute;
	top: -100px;
	left: 50%;
	width: 340px;
	height: 200px;
	visibility: visible

	}


--></style></head>




	
<body>

<div id="horizon">
			<div id="content" style="padding-top:30;height:120px;top:-55px;">
				
<center>				
<FORM METHOD="GET" ACTION="./index.php">
<span style="color:darkblue;font-weight:700;">URL</span>:<br /> <INPUT name="url" width="40" style="width:300;margin-top:10;font-size:24px;"><br />
<input type="checkbox" name="data">Dataย ย ย ย <INPUT TYPE="submit" VALUE=Lookup style="width:200px;margin-top:10;">
</FORM>
</center>

</div>

				</div>


</body></html>

index.php

PHP:
<?php

if (($_GET['data']== 'on') && (isset($_GET['url'])))
{
include("dataview.php");
}

elseif(isset($_GET['url']))
          {

          include("fullview.php");
    }

elseif(isset($_GET['data']))
          {
          include("form.php");
    }
 else
          {
          include("form.php");
    }
    
    
    


?>

Example of use:

PHP:
Google Stats: <?php $content1=file_get_contents("http://mf1.us/lookup/?url=http://google.com&data=on"); echo $content1; ?>

Change the http://mf1.us/lookup part to your domain where it's hosted. And change url=http://google.com to the URL you need to lookup.

If you put &data=on at the end of the URL, then it will output data in a fairly simple form, which is want you want I believe. Otherwise it will lead to the page where it can be viewed in full. Just try it out ;)

Example at http://mf1.us/lookup

--

I'll post this in CODE forum later, if you like it, I like rep.

=

Feedback... please...? :(
 
Last edited:
3
•••
That is cool. Thank you for your work. How long did it take to make this? If you ever revise this so the results ie. alexa rank 234,809 are clickable so if clicked it takes you to the corresponding page that would make this 100%. As it is this will work for my application though. Will keep an eye out for the upgrade :)

With clickable result links it would be of benefit because you could see what quality of back links there are or in Alexa origin of traffic etc.

I love it though Thank you.. I left some REP
 
0
•••
Very good Dan.

But any idea why the Google backlinks always show 0 on your example
Example at http://mf1.us/lookup

Rep added.

- Vince
 
0
•••
Nice catch I didnt notice that. On the sample link it showed me backlinks but on my data only it doesnt show any
 
0
•••
0
•••
0
•••
Update:
Seems that the same thing happens with other similar scripts; i.e. www.freewebrank.com
From what I can tell, this issue i down to URL's with or without WWW.

Hope that helps,

- Vince
 
0
•••
Vince, that is correct. I've been running a service like this for a while and realised it a while back.

As to those updates I mentioned, I'll do those now.

== EDIT ==

Script updates complete:

As the script is getting a little large, you can download the whole thing here, much much easier. http://mf1.us/lookup/download

There is a readme included, which is also posted below.

Code:
   Updates:

 - Lots of bug fixes including fixes for when no URL is specified and no period (.) fixes
 - Created an "Out" page
 - Made the outputted data clickable, so they link to, for example http://www.alexa.com/data/details/traffic_details?q=&url=http://google.com
 - Made an system so example.com/URL e.g. http://mf1.us/lookup/google.com automatically does a search for "google.com" and displays the results on screen
 - Updated the form
 - Made it look nicer

   What you need to do

 - Open .htaccess in a text editor, change the following line:


RewriteRule ^(.+)$ /lookup/?url=$1 [QSA,L]

to 

RewriteRule ^(.+)$ /THE-FOLDER-WITH-THE-SCRIPT-IN/?url=$1 [QSA,L]

If you have it saved in the public_html folder (or whatever your root folder is called for that URL) use the following

RewriteRule ^(.+)$ /?url=$1 [QSA,L]

Demo:

http://mf1.us/lookup/
 
Last edited:
0
•••
Thank you for the update. When the data is on in the form is it possible to get those result to be clickable?

i.e. Pagerank: 5 Alexa Rank: 89,782 Google Backlinks: 31 Yahoo Backlinks: 16,493

One thing I have had an issue with is when using this line
PHP:
  Google Stats: <?php $content1=file_get_contents("http://mf1.us/lookup/?url=http://google.com&data=on"); echo $content1; ?>

I change it to this

PHP:
 [COLOR=Red] <a href="http://www.anothersite.com">Another Site</a>[/COLOR] Google Stats: <?php $content1=file_get_contents("http://mysite.com/lookup/?url=http://anothersite.com&data=on"); echo $content1; ?>

When I try to add a clickable link to the beginning it doesnt open that site it looks for http://mysite.com/anothersite.com Any advice on fixing this also?
 
0
•••
0
•••
Thats alright since you released it to others already. I will look for another way to achieve this. Rather keep my requests in the thread I started.

I appreciate your help getting me this far
 
0
•••
PM me the changes you need, I'll do it for you.

Just trying to keep it neater.
 
0
•••
Excellent scripts, was much needed.

Any chance in making this a single php file?
 
Last edited:
0
•••
Putting this into one index.php shouldn't be hard, I don't have the time - but if someone could do it that would be great. :)
 
Last edited:
0
•••
Thank's the single file works great!
 
0
•••
Appraise.net
Spaceship
Domain Recover
NameMaxi - Your Domain Has Buyers
  • The sidebar remains visible by scrolling at a speed relative to the pageโ€™s height.
Back