|
|
|
Kod php do sprawdzania page rank |
« Zobacz poprzedni temat :: Zobacz następny temat » |
Autor |
Wiadomość
|
jackI |
Wysłany: 17 Kwi 2006, 21:51 Temat postu: Kod php do sprawdzania page rank |
|
|
Nowicjusz
Dołączył: 14 Kwi 2006 Posty: 9
|
Pilnie poszukuje dobrze szialajacy skrypt w php ktory sprawdza page rank. Posiadam pare wersji tego kody, ale zaden nie dziala mi poprawnie. Czy mozliwe jest aby ktos udostepnil mi kod ktory wykorzystuje Katalog Ciekawych Stron do sprawdzania page ranku witryn? |
|
Powrót do góry |
|
|
KCS |
Wysłany: Temat postu: Reklama w KCS |
|
|
|
|
Powrót do góry |
|
|
Buk?ak |
Wysłany: 17 Kwi 2006, 23:08 Temat postu: |
|
|
Stały bywalec
Dołączył: 21 Mar 2006 Posty: 320
Skąd: Zambrów
|
Kod: | <?php
define('GOOGLE_MAGIC', 0xE6359A60);
//unsigned shift right
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 ^= (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);
/*-------------------------------------------- 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) {
$url = 'info:'.$url;
$ch = GoogleCH(strord($url));
$file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
$data = file($file);
$rankarray = explode (':', $data[2]);
$rank = $rankarray[2];
return $rank;
}
//wywołanie:
$pagerank=getrank("http://adres/");
echo $pagerank;
?> |
W miejsce adres:
Kod: | $pagerank=getrank("http://adres/"); |
Kod by MartinB
Teraz coś ode Mnie - moja wersja skryptu, wymagana obsługa bibliotek GD
plik pr.lib.php
Kod: | <?php
define('GMAG', 0xE6359A60);
//unsigned shift right
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 ^= (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 GCH($url, $length=null, $init=GMAG) {
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);
/*-------------------------------------------- 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 getPR($_url) {
$url = 'info:'.$_url;
$ch = GCH(strord($url));
$url='info:'.urlencode($_url);
$pr = file("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
$pr_str = implode("", $pr);
return substr($pr_str,strrpos($pr_str, ":")+1);
}
//echo "Twoj PR: ".getPR($_GET['url']);
?>
|
plik show_pr.php
Kod: |
<?php
include "pr.lib.php";
# procent wykonania (mozna pobierac z formularza)
$percent = getPR($_GET['url'])*10;
# szerokosc paska w pikselach
$progress['width'] = 100;
# wysokosc paska w pikselach
$progress['height'] = 30;
# kolor tla paska
$progress['color'] = 'FFFFFF';
# kolor paska
# mozna zrobic dynamiczny... musisz sie pobawic Uśmiech...
$progress['line'] = '000000';
# kolor ramki paska
$progress['border'] = '888888';
# kolor czcionki
$progress['font'] = '000000';
# modyfikujemy kolory na czerwony, zielony i niebieski
$color_r = hexdec(substr($progress['color'], 0, 2));
$color_g = hexdec(substr($progress['color'], 2, 2));
$color_b = hexdec(substr($progress['color'], 4, 2));
$border_r = hexdec(substr($progress['border'], 0, 2));
$border_g = hexdec(substr($progress['border'], 2, 2));
$border_b = hexdec(substr($progress['border'], 4, 2));
$line_r = hexdec(substr($progress['line'], 0, 2));
$line_g = hexdec(substr($progress['line'], 2, 2));
$line_b = hexdec(substr($progress['line'], 4, 2));
$font_r = hexdec(substr($progress['font'], 0, 2));
$font_g = hexdec(substr($progress['font'], 2, 2));
$font_b = hexdec(substr($progress['font'], 4, 2));
$img = imagecreatetruecolor($progress['width'], $progress['height'])
or die('Nie można utworzyć obrazu GD');
# robimy ramke
$border_color = imagecolorallocate($img, $border_r, $border_g, $border_b);
$fill_color = imagecolorallocate($img, $color_r, $color_g, $color_b);
$font_color = imagecolorallocate($img, $font_r, $font_g, $font_b);
# kolorujemy caly pasek
imagefill($img, 0, 0, $fill_color);
$line_color = imagecolorallocate($img, 0, 255, 0);
$width = $progress['width']; $width--;
$height = $progress['height']; $height--;
imagerectangle($img, 0, 18, $width, $height, $border_color);
$new_x = round(($percent*$progress['width'])/100);
#usuwamy jeden piksel w szerokosci na ramke
$new_x-= 3;
$new_y = $progress['height'];
# j/w
$new_y-= 3;
imagefilledrectangle($img, 2, 20, $new_x, $new_y, $line_color);
$font_x = $progress['width']/2;
$font_x-= strlen("PageRank")*3;
$font_x-= 3;
$font_y = $progress['height']/2;
$font_y-= 3;
imagestring($img, 1, $font_x, 5, "PageRank: ".$percent/10, $font_color);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>
|
Ładujemy wszystko z formularz i jedziemy... _________________ Liga Mistrzów
Pi?ka no?na
Olimpia Zambrów |
|
Powrót do góry |
|
|
jackI |
Wysłany: 18 Kwi 2006, 00:04 Temat postu: |
|
|
Nowicjusz
Dołączył: 14 Kwi 2006 Posty: 9
|
Bardzo dziekuje za skrypty!
Jednak mam z nim problem, poniewaz np. kod Martina dziala na moim komputerza, ale jak zgram go na moj serwer w internecie to juz nie.
Na moim komputerze mam windowsa i wersje php chyba 4, a na serwerze jest linux i PHP 5.1.2. Czy moze to miec jakis wplyw i czy mozna cos na to poradzic? |
|
Powrót do góry |
|
|
Buk?ak |
Wysłany: 18 Kwi 2006, 09:47 Temat postu: |
|
|
Stały bywalec
Dołączył: 21 Mar 2006 Posty: 320
Skąd: Zambrów
|
|
Powrót do góry |
|
|
jackI |
Wysłany: 18 Kwi 2006, 14:31 Temat postu: |
|
|
Nowicjusz
Dołączył: 14 Kwi 2006 Posty: 9
|
Tak powinna byc, ale ja nie testowalem tego skryptu ktory jej wymaga, tylko wersje Martina. |
|
Powrót do góry |
|
|
Buk?ak |
Wysłany: 18 Kwi 2006, 14:45 Temat postu: |
|
|
Stały bywalec
Dołączył: 21 Mar 2006 Posty: 320
Skąd: Zambrów
|
Cytat: | Tak powinna byc, ale ja nie testowalem tego skryptu ktory jej wymaga, tylko wersje Martina. |
No przepraszam nie doczytałem się, poczekamy na odpowiedź Martina bo moim zdaniem wszystko powinno ładnie chodzić. _________________ Liga Mistrzów
Pi?ka no?na
Olimpia Zambrów |
|
Powrót do góry |
|
|
jackI |
Wysłany: 18 Kwi 2006, 15:13 Temat postu: |
|
|
Nowicjusz
Dołączył: 14 Kwi 2006 Posty: 9
|
Podaje wartosci zmiennych na moim komputerze i na serwerze dla skryptu Martina.
Dla strony www.onet.pl:
Moj komputer:
ch: -1093979281
url: info:www.onet.pl
rank: 7
Serwer:
ch: 65609398
url: info:www.onet.pl
rank: nie pokazuje |
|
Powrót do góry |
|
|
|
|
|
|
Strona 1 z 1 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|
|
|