Signification [php]

Résolu
bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   -  
bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
que signifie cette ligne :
 $pr =
file("https://www.google.com/webhp?client=navclient-auto&gws_rd=ssl$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$adress");

(dans un script qui devrait afficher le PR d'une page (mais qui ne fonctionne pas ...)
merci
@mitiés
b g

--

le 'www' est fait aussi pour communiquer, partager et échanger, non ?
Configuration: Windows XP
Firefox 2.0.0.4

9 réponses

  1. chico200987
     
    Il prend le résultat HTML de la page : "https://www.google.com/webhp?client=navclient-auto&ch=6&gws_rd=ssl$ch&ie=UTF-8&­;oe=UTF-8&features=Rank&q=$adress" que tu as passé en paramètre et l'insert dans ton tableau nommé $pr.

    Chaque indice de ton tableau $pr contiendra une ligne du résultat de la page HTML.

    Ce qui me semble faut dans ton script et qui ferait qu'il ne marche pas est le $adress pas pris en compte par php là.

    Essaie :

    $pr =
    file("https://www.google.com/webhp?client=navclient-auto&ch=6&gws_rd=ssl$ch&ie=UTF-8&­;oe=UTF-8&features=Rank&q=".$adress);

    (J'ai déplacé le guillemet)
    0
  2. chico200987
     
    Oups, oublié la source pour PHP : http://fr.php.net/file
    0
  3. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    comprends plus ... tout fonctionnait impec depuis trois mois et plus du tout depuis deux jours ...
    voici le code source de la page:
    <?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($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)              /* all the case statements fall through */
        {
            case 11: $c+=($adress[$k+10]<<24);
            case 10: $c+=($adress[$k+9]<<16);
            case 9 : $c+=($adress[$k+8]<<8);
              /* the first byte of c is reserved for the length */
            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]);
             /* 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) {
        $adress = 'info:'.$_url;
        $ch = GCH(strord($adress));
        $adress='info:'.urlencode($_url);
        $pr =
    file("https://www.google.com/webhp?client=navclient-auto&gws_rd=ssl$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$adress");
        $pr_str = implode("", $pr);
        return substr($pr_str,strrpos($pr_str, ":")+1);
    }
    
    ?>

    @+
    b g
    0
  4. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    a récupérer le pr d'une page.
    ne fonctionne pas selon les serveurs.
    0
    1. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435
       
      ok mais pourquoi depuis 2 jours ne fonctionne--il plus ?
      0
    2. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
       
      demandes à ton hébergeur ;o)
      0
    3. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435 > gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention  
       
      bonjour
      je viens d'avoir la réponse, enfin j'espère que c'est la bonne ....
      Suite à notre mise à jour en Debian 4.0, la fonction allow_url_fopen est
      passé sur Off, il faudra peut-être créer un fichier php.ini et y mettre
      la ligne de commande suivante :
      allow_url_fopen = on

      comment créer ce fichier et surtout qu'y mettre (la ligne indiquée et c'est tout ?) et le placer où ? (dans le dossier où se trouve le script ou ailleurs ???)
      @+
      b g
      0
    4. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923 > bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention  
       
      salut,

      dans ton phpinfo, 'allow_url_fopen' est à 'on' donc si ça ne fonctionne pas cela ne vient pas de là…

      et l'url d'appel chez Google n'a pas changée ?
      0
    5. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435 > Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention  
       
      tu y comprends qq chose toi ?
      @+
      b g
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    pour php;ini:
    allow_url_fopen = on

    et pour pr.php
    <?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($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)              /* all the case statements fall through */
        {
            case 11: $c+=($adress[$k+10]<<24);
            case 10: $c+=($adress[$k+9]<<16);
            case 9 : $c+=($adress[$k+8]<<8);
              /* the first byte of c is reserved for the length */
            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]);
             /* 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) {
        $adress = 'info:'.$_url;
        $ch = GCH(strord($adress));
        $adress='info:'.urlencode($_url);
        $pr =
    file("https://www.google.com/webhp?client=navclient-auto&gws_rd=ssl$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$adress");
        $pr_str = implode("", $pr);
        return substr($pr_str,strrpos($pr_str, ":")+1);
    }
    
    ?>
    
    
    
    
    
    
    
    
    

    @+
    b g
    0
    1. davidmickael Messages postés 124 Statut Membre 2
       
      Salut, Bonjour,
      Tu n'as pas besoin d'include dans ton File,
      tu codes en php, sur du lLinux/Unix?
      Faut faire gaffe, aux configurations dans le "php.ini", le htdocs", sous windows, en tout cas,
      tu tournes avec un SERVEUR APACHE ASSOCIE INSTALLE EN INDEPENDANT sur un OS LINUX?(0000)
      0
      1. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435 > davidmickael Messages postés 124 Statut Membre
         
        je suis chez 1&1 en unix
        pour le reste ... tu sais que tu me parles en chinois !?
        @+
        b g
        0
  7. Toons
     
    Hello,
    je relance le sujet ayant le même problème avec la même fonction et sur le même hoster (one&one) mais je sais pas si c'est pas le protocole google ki a changer ou si sa vient du serveur, a tu trouvé solution a ton problème bg62 ?

    car j'essais de tester l'url google du script mais sa me renvoi une erreur est-ce moi qui passe pas les bon paramètres ou c bien le protocole qui a changer ?

    merci d'avance de donné des news bg52.
    0
  8. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    la requète par ce serveur semble être bannie ... il faut donc trouver un autre système ....
    0
  9. Toons
     
    La tu trouvé cette solution ?

    je suis entrain de regarder du cotés du script de Freeglobe, mais c plus lourd !!!
    0
  10. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    prendre le résultat d'un ou plusieurs sites en ligne qui eux sont acceptés ... pas toujours très fiable, mais ... bon !
    0