Comment afficher le pagerank depuis un site distant ?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


tryan
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Dim Fév 20, 2005 14:14

Comment afficher le pagerank depuis un site distant ?

Message le Lun Jan 08, 2007 21:11

Bonjour
J'utilise sur l'un de mes sites un petit script php qui me permet d'afficher l'image du pagerank d'un site .Je souhaiterais à partir d'un site distant pouvoir afficher cette petite barre verte mais je n'y parvient pas .

Dans un fichier nommé pagerank.php
Code: Tout sélectionner
<?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];
}

//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 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 = "<img src=\"/images/pr0.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 1){
   $this->pr = "<img src=\"/images/pr1.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 2){
   $this->pr = "<img src=\"/images/pr2.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 3){
   $this->pr = "<img src=\"/images/pr3.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 4){
   $this->pr = "<img src=\"../images/pr4.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 5){
   $this->pr = "<img src=\"/images/pr5.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 6){
   $this->pr = "<img src=\"/images/pr6.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 7){
   $this->pr = "<img src=\"/images/pr7.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 8){
   $this->pr = "<img src=\"/images/pr8.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }elseif($pagerank == 9){
   $this->pr = "<img src=\"/images/pr9.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
   }else{
   $this->pr = "<img src=\"/images/pr10.gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
  }
}
function get_pr(){
  return $this->pr;
}
}
?>


Ici le code affichant le pagerank que j'ai mis dans un fichier nommé code.php:
Code: Tout sélectionner
<?php
include("pagerank.php");
$gpr = new pageRank();
$gpr->printrank("$url");
//display image
echo $gpr->get_pr();
?>

Le resultat se trouve ici -http://referencement-link.com/code.php .
L'image du pr change si je fait par exemple -http://referencement-link.com/code.php?url=http://www.webrankinfo.com .

Maintenant comment faire pour afficher cette petite barre verte sur un site A alors que le script est installé sur un site B ?

J'aimerais beaucoup que ce soit un code du genre
Code: Tout sélectionner
<img src=\"http://www.mon-site.com/img.php?=$url\" />
qui me permette cette affichage mais je seche completement.
:?
Merci de votre aide si vous vous arretez sur le sujet :)

fosseene
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Lun Sep 29, 2003 16:45

Message le Lun Jan 08, 2007 21:53

pourquoi ne pas faire plus simple et utiliser
www.mon-pagerank.com ?


fosseene

DomicilePC
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 210
Inscription: Lun Jan 17, 2005 15:50

Message le Lun Jan 08, 2007 21:57

Il faut entrer les adresses absolues des images.
Le php est interprété chez toi, mais les adresses relatives des images concerne le site qui va les afficher

Je me suis permis de changer ta fonction pr_image,
pour qu'elle soit plus facile à lire

Code: Tout sélectionner
function pr_image($pagerank){
   for($i=0;$i<=10;$i++){
      if($pagerank == $i){
         $this->pr = "<img src=\"http://referencement-link.com/images/pr".$pagerank.".gif\" alt=\"PageRank " .$pagerank. " out of 10\">" ;
         break;
      }
   }
   return $this->pr;
}


Chez moi ça marche


tryan
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Dim Fév 20, 2005 14:14

Message le Lun Jan 08, 2007 23:19

fosseene a écrit:pourquoi ne pas faire plus simple et utiliser
www.mon-pagerank.com ?


fosseene

Tout simplement parce que je n'ai pas envie de passer par un site tiers.Ce code fonctionne sur mon www mais je voudrait pouvoir afficher le pr sur un free.fr qui n'autorise pas cette fonction.

Merci DomicilePC , cependant mon petit niveau en php me fait defaut ...Apres plusieurs tentatives,je ne parvient pas à le faire fonctionner .De plus,je ne sais pas comment l'appeller depuis un site distant (dans l'hypotese que j'y parvienne) :( .


tryan
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Dim Fév 20, 2005 14:14

Message le Mar Jan 09, 2007 0:32

Je tenais à remercier DomicilePC pour son aide :D . Milles merci à toi :D

DomicilePC
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 210
Inscription: Lun Jan 17, 2005 15:50

Message le Mar Jan 09, 2007 0:46

Ca fait plaisir


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités