Comment lire le contenu d'une page web ?

Résolu
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009 - 1 août 2005 à 16:21
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009 - 2 août 2005 à 00:15
Bonjour,

je cherche comment lire le contenu d'une page web distante avec PHP, sachant que je n'ai aucune autorisation sur cette page à part la lire.

J'ai tenté d'utilisé la fonction file() en l'utilisant de cette façon:

$contenu = file("http://www.unsite.com/pageweb.html");



mais PHP semble "planter" sur la ligne. Il ne m'affiche aucune erreur
(j'ai un hébergement pro chez lycos et il ne m'affiche pas toujours les
erreurs...).



J'ai ensuite essayé la fonction fopen en mode lecture mais elle semble planter aussi.

J'arrive cependant à lire des fichiers en local avec file().



Merci de votre aide.

15 réponses

mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
1 août 2005 à 19:49
ton code était bon au départ, mais ton hébergeur ne veux pas - pour des
raisons de sécurité - que tu puisses télécharger un fichier... la
solution à ton problème serait de changer d'hébergeur ...
3
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
1 août 2005 à 16:22
change file par readfile pou voir ?
0
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009
1 août 2005 à 16:51
readfile ne marche pas non plus.





PS : je teste avec l'adresse de google:

$r = readfile("http://www.google.fr/");

Merci de prendre du temps pour m'aider.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 août 2005 à 16:54
Salut,



fopen() ou encore fsockopen()

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0

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

Posez votre question
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009
1 août 2005 à 17:18
Je viens de tester fopen:

$r = fopen("http://www.google.fr/", "r");
et php semble "planter".



Mais lorsque j'essaye avec fsockopen() avec le code test suivant trouvé dans la doc de php:

$fp = fsockopen("http://www.google.fr", 80, $errno, $errstr, 30);

if (!$fp) {

echo "$errstr ($errno)
\n";



} else {;

$out = "GET / HTTP/1.1\r\n";

$out .= "Host: www.google.frr\n";

$out .= "Connection: Close\r\n\r\n";



fwrite($fp, $out);

while (!feof($fp)) {

echo fgets($fp, 128);

}

fclose($fp);

}



J'ai une erreur: "Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (4) " mais php ne plante pas.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 août 2005 à 17:44
ne mets pas http:// devant

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
1 août 2005 à 19:00
première chose à faire :

<?Error_Reporting(E_ALL);?>



chez un membres.lycos t'aurais obtenu :





Warning: fsockopen, pfsockopen, show_source, php_uname, ini_get,
ini_alter, ini_restore, ini_set, getrusage, mysql_list_dbs,
get_current_user, set_time_limit, getmyuid, getmypid, dl, leak, listen,
chown, chmod, chgrp, realpath, tmpfile, link, mb_send_mail() has been
disabled for security reasons in /data/members/free/multimania/fr/a/b/c/... on line 5





Warning: Readfile(): URL file-access is disabled in the server configuration



Warning: file(): URL file-access is disabled in the server configuration
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 août 2005 à 19:35
ah oui c'est vrai que t'es chez lycos... Change d'hébergeur, c'est la première chose à faire ^^

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009
1 août 2005 à 19:40
Voilà ce qu'il me sort quand j'utilise

$r = file("http://www.google.fr");





Warning: file() [function.file]: Unable to access www.google.fr in /data/members/paid/m/e/mesdevoirs.net/htdocs/www/choix/telechargement.php5 on line 55



Warning: file(www.google.fr) [function.file]: failed to open stream: No such file or directory in /data/members/paid/m/e/mesdevoirs.net/htdocs/www/choix/telechargement.php5 on line 55
0
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009
1 août 2005 à 19:47
Mais ne n'ai pas l'hébergement gratuit, j'ai l'hébergement pro, c'est pas exactement la même chose...


Ci dessus je me suis trompé, je n'ai l'erreur que quand je ne me pas le http:// sinon je n'ai rien du tout et PHP plante.
0
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
1 août 2005 à 19:47
il faut mettre http:// devant !
0
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
1 août 2005 à 19:50
désolé pour les deux messages ci-dessus ... tu m'as "grillé" !
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 août 2005 à 19:56
Il ne faut pas mettre "http://" dans le fsockopen...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009
2 août 2005 à 00:13
Merci, je vais demander à lycos s'il ne peuvent pas m'activer cette fonction...
0
poiuytrez3 Messages postés 150 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 17 mars 2009
2 août 2005 à 00:15
Merci à vous deux pour m'avoir aidé.
0
Rejoignez-nous