Signification [php]

Résolu/Fermé
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 - 6 mars 2008 à 15:36
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 - 5 juin 2008 à 10:42
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
A voir également:

9 réponses

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
Oups, oublié la source pour PHP : http://fr.php.net/file
0
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363
6 mars 2008 à 15:53
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
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 331
6 mars 2008 à 15:59
a récupérer le pr d'une page.
ne fonctionne pas selon les serveurs.
0
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363
6 mars 2008 à 16:11
ok mais pourquoi depuis 2 jours ne fonctionne--il plus ?
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 331
6 mars 2008 à 16:51
demandes à ton hébergeur ;o)
0
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363 > gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020
18 mars 2008 à 09:33
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
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024
18 mars 2008 à 14:50
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
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363 > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
18 mars 2008 à 17:00
tu y comprends qq chose toi ?
@+
b g
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363
18 mars 2008 à 15:06
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
davidmickael Messages postés 98 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 23 janvier 2009 2
19 mars 2008 à 10:27
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
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363 > davidmickael Messages postés 98 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 23 janvier 2009
19 mars 2008 à 10:35
je suis chez 1&1 en unix
pour le reste ... tu sais que tu me parles en chinois !?
@+
b g
0
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
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363
4 juin 2008 à 16:40
la requète par ce serveur semble être bannie ... il faut donc trouver un autre système ....
0
La tu trouvé cette solution ?

je suis entrain de regarder du cotés du script de Freeglobe, mais c plus lourd !!!
0
bg62 Messages postés 23597 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 11 mai 2024 2 363
5 juin 2008 à 10:42
prendre le résultat d'un ou plusieurs sites en ligne qui eux sont acceptés ... pas toujours très fiable, mais ... bon !
0