Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PageRank... Virtual Directory...

[es] :: PHP :: PageRank... Virtual Directory...

[ Pregleda: 2646 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Šahbaz
Developer, BBM
EU

Član broj: 102142
Poruke: 106
*.ev1servers.net.



Profil

icon PageRank... Virtual Directory...23.12.2007. u 01:52 - pre 201 meseci
Pozdrav,

Naime imam problem sa PageRank klasom koju sam preuzeo sa PHPclasses.
U lokalu mi sve radi kako treba samo sto vrace 1 kad ne bi trebalo (ne korektno ime domena).

Na mom serveru (hostgator) imam problema jer mi konstantno vrace 1 za sve sajtove.
Vjerovatno je u pitanju neki problem sa php konfiguracijom pa me zanima da li bi neko mogao tacno da mi kaze u cemu je problem?

Sta je VirtualDirectory support ? (posto ovo nije dozvoljeno na mom serveru).
Isto tako me zanima da li znate neku klasu ili skriptu koja prvjerava PageRank broj indexiranix linkova i slicno...

Ps.
Php fajl sam prikacio uz poruku pa ako nekog zanima neka proba.
Prikačeni fajlovi
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: PageRank... Virtual Directory...23.12.2007. u 16:54 - pre 201 meseci
Google vraća 1 onda kada "heš" unutar komande ne odgovara ostalim parametrima poziva.
Dva su moguća razloga zašto negde radi a negde ne, ili ti je IP banovan zbog previše saobraćaja ili ti matematičke funkcije stvore drugačiji heš (ovo se meni desilo).

Ne znam koju si varijantu uzeo sa phpclasses, ali sve koriste sličan algoritam za računanje heša.
Ja sam "popravio" ovu: http://www.phpclasses.org/discuss/package/2682/thread/2/page/3/
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Šahbaz
Developer, BBM
EU

Član broj: 102142
Poruke: 106
*.ev1servers.net.



Profil

icon Re: PageRank... Virtual Directory...23.12.2007. u 17:21 - pre 201 meseci
Nije mi bas najasnije to ali i sa ovim kodom na mom serveru nema napretka, i dalje vraca 1 za sve urlove.
Kako da saznam da li mi je IP banovan!?

I da li moze pojasnjenje sta je VirtualDirectory!?

Takodje me zanima da li se pomocu google api-a moze dobiti page rank i da li bi u tom slucaju sigurno radio i na mom serveru!?

Poz i hvala.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: PageRank... Virtual Directory...23.12.2007. u 18:57 - pre 201 meseci
Probaj 'vako:
tamo gde ti je komentar "// let's get ranking" dodaj novi red:
die($querystring);
Tako ćeš videti kako ti je heš formiran.
Podigni to na server, pokreni pa pogledaj šta ti tamo napiše, ako se razlikuju onda imaš problem s matematikom na serveru.

Ne znam šta je VirtualDirectory. GoogleAPI? Pa može, ali i ovo mora da radi.

Tip: ugasi keširanje rezultata dok sve ovo isprobavaš.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Predrag Gajic

Član broj: 23671
Poruke: 338



+2 Profil

icon Re: PageRank... Virtual Directory...23.12.2007. u 19:01 - pre 201 meseci
Pokušaj sa
pagerank.php
Code:
<?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]; 




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


function printrank($url){
  $ch = "6".$this->GoogleCH($this->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);
     while (!feof($fp)) {
       $data = fgets($fp, 128);
       $pos = strpos($data, "Rank_");
         if($pos === false){
         }else{
           $pagerank = substr($data, $pos + 9);
           $this->pr_image($pagerank);
         }
     }
     fclose($fp); 
  }
}

function pr_image($pagerank){

  if($pagerank == 0){
   $this->pr = "0";
   }elseif($pagerank == 1){
   $this->pr = "1";
   }elseif($pagerank == 2){
   $this->pr = "2";
   }elseif($pagerank == 3){
   $this->pr = "3";
   }elseif($pagerank == 4){
   $this->pr = "4";
   }elseif($pagerank == 5){
   $this->pr = "5";
   }elseif($pagerank == 6){
   $this->pr = "6";
   }elseif($pagerank == 7){
   $this->pr = "7";
   }elseif($pagerank == 8){
   $this->pr = "8";
   }elseif($pagerank == 9){
   $this->pr = "9";
   }else{
   $this->pr = "10";
  }
}
function get_pr(){
  return $this->pr;
}
}
?> 


Code:
include("pagerank.php");
$gpr = new pageRank();
$gpr->printrank("http://www.google.com");
//display image
$pr=$gpr->get_pr();
echo "$pr-";
 
Odgovor na temu

Šahbaz
Developer, BBM
EU

Član broj: 102142
Poruke: 106
*.ev1servers.net.



Profil

icon Re: PageRank... Virtual Directory...23.12.2007. u 20:38 - pre 201 meseci
@mrVeliki

Razlikuju se:

Server:
client=navclient-auto&ch=6970774653&features=Rank&q=info%3Ahttp%3A%2F%2Fwww.google.com

Localhost:
client=navclient-auto&ch=63513778613&features=Rank&q=info%3Ahttp%3A%2F%2Fwww.google.com

@Predrag Gajic

Hvala za kod ali to se svodi na klasu koju vec imam tako da u lokalu radi Ok a na serveru Nista!
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: PageRank... Virtual Directory...23.12.2007. u 21:19 - pre 201 meseci
Ova verzija radi kod mene na serveru.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Prikačeni fajlovi
 
Odgovor na temu

Šahbaz
Developer, BBM
EU

Član broj: 102142
Poruke: 106
*.ev1servers.net.



Profil

icon Re: PageRank... Virtual Directory...23.12.2007. u 22:09 - pre 201 meseci
Hvala ali kod HostGatora i dalje vrace 1!

Sta mislis da li bi koriscenjem Google API-a prevazisao problem na serveru!?
 
Odgovor na temu

[es] :: PHP :: PageRank... Virtual Directory...

[ Pregleda: 2646 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.