FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hittade förut en sida där det stod hur man kunde fixa en egen PageRank visare.
Men jag kommer inte ihåg adressen. Har sökt på internet men inte hittat något sådant script som man själv hostar. Vet ni var jag kan hitta ett sånt script? (Så att jag kan visa vad en länk har för pagerank) |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Klarade millennium-buggen
|
||||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Citat:
Men jag fick det inte att fungera... Den visar bara en tom bild... |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Flitig postare
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Jag tror att du letar efter detta:
Kod:
<?php define('GOOGLE_MAGIC', 0xE6359A60); //unsigned shift right function zeroFill($a, $b) { $z = hexdec(80000000); //echo $z; 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 ^= (zeroFill($c,13)); $b -= $c; $b -= $a; $b ^= ($a<<8); $c -= $a; $c -= $b; $c ^= (zeroFill($b,13)); $a -= $b; $a -= $c; $a ^= (zeroFill($c,12)); $b -= $c; $b -= $a; $b ^= ($a<<16); $c -= $a; $c -= $b; $c ^= (zeroFill($b,5)); $a -= $b; $a -= $c; $a ^= (zeroFill($c,3)); $b -= $c; $b -= $a; $b ^= ($a<<10); $c -= $a; $c -= $b; $c ^= (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 = mix($a,$b,$c); $a = $mix[0]; $b = $mix[1]; $c = $mix[2]; $k += 12; $len -= 12; } $c += $length; switch($len) /* all the case statements fall through */ { 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]); /* case 0: nothing left to add */ } $mix = mix($a,$b,$c); //echo $mix[0]; /*-------------------------------------------- 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; } // http://www.example.com/ - Checksum: 6540747202 function getPR($url) { //print("url:\t{$_GET['url']}\n"); $ch = "6" . GoogleCH(strord("info:" . $url)); $fp = fsockopen("www.google.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$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); $pagerank = 0; //$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; break; } } fclose($fp); } return $pagerank; } ?> |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Supermoderator
|
Gäller denna algoritm fortfarande? Om inte får någon gärna skicka mig en fungerande ny version.
Mvh Vincent
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Citat:
http://www.webmasternetwork.se/f4t2597hl-st45.html som var igång i augusti. Där finns också "algoritmen" i något optimerad (i alla fall kortare) form, urlCheckSum(); |
|||
![]() |
![]() |
Svara |
|
|