[aide pour script] calcul du pagerank

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [aide pour script] calcul du pagerank

par HimSelf » 07 août 2006, 11:04

Salut

non, je parle de l'extension au domaine ( /dossier/ )

cordialement

par Cyrano » 06 août 2006, 12:35

Veux-tu dire l'adresse sans le "http://www." en début de chaîne ?

par HimSelf » 06 août 2006, 12:30

rebonjour,

dites dans le script il ne semble pas accepter les urls


monsite.com/dossier/

Quelqu'un aurait une idée comment comblé cette erreur ?

Cordialement

par HimSelf » 05 août 2006, 12:16

héhé Cyrano t'es un dieux :lol:

En plus avec tes explications j'ai compris :D

pour répondre à ton "pourquoi" : parceque je suis un noobs, & que j'ai mélangé les tutos :roll:

MERCI A TOI CYRANO

par Cyrano » 05 août 2006, 12:02

Dans l'instruction utilisée pour afficher ton lien, tu alternes apostrophes et guillemets en échappant les quillemets, ce qui n'est pas logique. Tu encadres la chaine avec des apostrophes : ok, mais dans ce cas, pourquoi échapper les guillemets ? Essaye ceci:
<?php
echo "<img width=\"44\" height=\"15\" src=\"pr/pr". getPR($liens['url']) .".gif\" border=0 alt=\"Pagerank du site\" />";
?>
Là, on utilise QUE des guillemets et en échapper certains est alors cohérent et on utilise les apostrophes pour isoler l'index du tableau $lien.

Re: [aide pour script] calcul du pagerank

par HimSelf » 05 août 2006, 11:51

( /messites/%5C%22pr/pr4 = /messites/"pr/pr4 )
Ah ok, mais ca je l'avais déja déduit

:oops:

J'ai réussi à inclure le script & à le faire tourner, & c'est justement la que je bloque, c'est parcequ'il ya un problème dans les urls, mais mon niveau php ne me permet pas de voir ou :(

j'ai lu/relus ce code en essayant au max d'interpreter chaque opérations en cherchant sa signification.

par Cyrano » 05 août 2006, 11:33

Si on traduit http://www.monsite.com/messites/%5C%22pr/pr4 avec urldecode(), on va obtenir http://www.monsite.com/messites/\"pr/pr4 ce qui pose un problème : donc lors de la création de tes urls, ily a visiblement un problème :-k

par HimSelf » 05 août 2006, 11:02

Salut Cyrano,

j'ai bien lu à quoi servait celle fonction,
mais je ne comprend pas ce que je dois en faire, ni son intéret dans ce script :oops:

Pourrais tu être plus précis & m'en dire un peu plus ?

Cordialement & encore merci à toi

par Cyrano » 05 août 2006, 08:50

regarde du coté de la fonction urldecode(), ça devrait t'éclairer sur la signification des "%XX" des URLs

[aide pour script] calcul du pagerank

par HimSelf. » 05 août 2006, 00:34

Bonjour à tous :)

voila, je suis débutant en php, & je cherche à tirer une liste de site depuis ma base de donnée, en affichant systématiquement le page rank à côté.

Pour la liste no problemos, & pour le script j'en ai trouvé un sur la toile.

maintenant j'ai un petit problème d'adaptation de celui-ci.

Je ne dois pas être loin, car l'erreur varie avec dedans la valeur du pagerank en question :roll:

Le stress, c'est que le script ne m'affiche pas l'image, l'url qu'il tente d'afficher est :

http://www.monsite.com/messites/%5C%22pr/pr4
http://www.monsite.com/messites/%5C%22pr/pr5
http://www.monsite.com/messites/%5C%22pr/pr3
http://www.monsite.com/messites/%5C%22pr/pr6

( /messites/%5C%22pr/pr4 = /messites/\"pr/pr4 )

alors voila je vous montre mon code, peut-être que des grands gourous comme vous du php verront 'le truc qui louche'

merci d'avance :

le code avec lequel j'éssaye d'afficher l'image sur ma page
<?php echo '<img width=\"44\" height=\"15\" src=\"pr/pr'.getPR($liens["url"]).'.gif\" border=0 alt=\"Pagerank du site\" />'; ?>
le code de ma page pr.php (bien évidement apelé avec un incldue() au début de ma page)
<?php
define('GMAG', 0xE6359A60);


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($adress, $length=null, $init=GMAG) {
   if(is_null($length)) {
       $length = sizeof($adress);
   }
   $a = $b = 0x9E3779B9;
   $c = $init;
   $k = 0;
   $len = $length;
   while($len >= 12) {
       $a += ($adress[$k+0] +($adress[$k+1]<<8) +($adress[$k+2]<<16)
+($adress[$k+3]<<24));
       $b += ($adress[$k+4] +($adress[$k+5]<<8) +($adress[$k+6]<<16)
+($adress[$k+7]<<24));
       $c += ($adress[$k+8] +($adress[$k+9]<<8)
+($adress[$k+10]<<16)+($adress[$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)             
   {
       case 11: $c+=($adress[$k+10]<<24);
       case 10: $c+=($adress[$k+9]<<16);
       case 9 : $c+=($adress[$k+8]<<8);
       
       case 8 : $b+=($adress[$k+7]<<24);
       case 7 : $b+=($adress[$k+6]<<16);
       case 6 : $b+=($adress[$k+5]<<8);
       case 5 : $b+=($adress[$k+4]);
       case 4 : $a+=($adress[$k+3]<<24);
       case 3 : $a+=($adress[$k+2]<<16);
       case 2 : $a+=($adress[$k+1]<<8);
       case 1 : $a+=($adress[$k+0]);
       
   }
   $mix = mix($a,$b,$c);
 
   return $mix[2];
}


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

function getPR($url) {
   $url = str_replace("http://", "", $url);
   $url = str_replace("/", "", $url);
   $adress = 'info:'.$url;
   $ch = GCH(strord($adress));
   $adress='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=$adress");
   $pr_str = implode("", $pr);
   return substr($pr_str,strrpos($pr_str, ":")+1);
}
$url_pour_pr = str_replace("http://", "", $resultat["url"]);
$url_pour_pr = str_replace("/", "", $url_pour_pr);
?>
Merci à vouuus :)