Récupérer du contenu distant.

Petit nouveau ! | 7 Messages

19 févr. 2011, 21:19

Bonjour,

ma question est simple et ne se poserait pas si mon hébergeur supportait l'include de fichiers distants.

Elle est la suivante :
J'ai sur internet un fichier qui contient le code suivant :

Code : Tout sélectionner

$toto = "xxx" ;
Comment récupérer le contenu de $toto ?

Merci de votre contribution.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 févr. 2011, 01:59

Si ton fichier est un fichier texte, html, ..., il te suffit de le lire (fread, fgets et compagnie) puis parser la chaine pour retrouver la valeur qui t'intéresse.

Si ton fichier est un fichier php, il te faut demander à php d'afficher l'information dans ton script, pour pouvoir la récupérer comme indiqué ci-dessus.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 7 Messages

20 févr. 2011, 10:57

Merci, Ryle, de ta réponse.
Si ton fichier est un fichier texte, html, ..., il te suffit de le lire (fread, fgets et compagnie) puis parser la chaine pour retrouver la valeur qui t'intéresse.
Au bout de 15 ans de recherche, je viens d'avoir une idée géniale (je n'hésite pas à le dire !) :

Code : Tout sélectionner

eval( file_get_contents( "http://.../toto" ) ) ;


Il suffit de ne pas mettre les :

Code : Tout sélectionner

<?php ?>
dans toto.
Si ton fichier est un fichier php, il te faut demander à php d'afficher l'information dans ton script, pour pouvoir la récupérer comme indiqué ci-dessus.
Là, je ne comprends pas bien ce que tu veux dire.

Merci !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 févr. 2011, 21:05

Ben c'est un peu ce que tu viens de dire :)

En fait, quand tu fais un file_get_contents( "http://.../toto" ), tu vas récupérer le code source de la page toto, comme le fait un navigateur. S'il s'agit d'une page html, tu récupères bien le code source de celui-ci. S'il s'agit d'une page php, tu ne récupères pas le code php, mais seulement le résultat généré par celui-ci.

En gros :
<?php
$toto = "xxx" ;
?>
Ne générera rien dans le code source de la page
<?php
$toto = "xxx" ;
echo $toto;
?>
Affichera la chaine xxx dans le code source de la page (et tu peux donc le récupérer via le file_get_contents)

Tout dépend donc de ce que tu souhaites récupérer (et des droits que tu as sur le serveur distant pour mettre à disposition les ressources dont tu as besoin :))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 5462 Messages

20 févr. 2011, 23:16

Au bout de 15 ans de recherche, je viens d'avoir une idée géniale (je n'hésite pas à le dire !) :

Code : Tout sélectionner

eval( file_get_contents( "http://.../toto" ) ) ;
ça reviens à faire un include