Signification [php]
Résolu
bg62
Messages postés
23736
Date d'inscription
Statut
Modérateur
Dernière intervention
-
bg62 Messages postés 23736 Date d'inscription Statut Modérateur Dernière intervention -
bg62 Messages postés 23736 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
que signifie cette ligne :
(dans un script qui devrait afficher le PR d'une page (mais qui ne fonctionne pas ...)
merci
@mitiés
b g
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
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)
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)
comprends plus ... tout fonctionnait impec depuis trois mois et plus du tout depuis deux jours ...
voici le code source de la page:
@+
b g
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
a récupérer le pr d'une page.
ne fonctionne pas selon les serveurs.
ne fonctionne pas selon les serveurs.
bonjour
je viens d'avoir la réponse, enfin j'espère que c'est la bonne ....
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pour php;ini:
et pour pr.php
@+
b g
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
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.
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.