Problème php

Fermé
hektoumayo - 18 mars 2005 à 17:02
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 18 mars 2005 à 20:21
Bonjour,
Sur le site commentcamarche.com dans la rubrique php il y a un exemple d'utilisation de la fonction "fopen() " que je n'arrive pas à appliquer. Le voici:

<?

$fp = fopen("http://www.commentcamarche.net","r"); //lecture du fichier

while (!feof($fp)) { //on parcourt toutes les lignes

$page .= fgets($fp, 4096); // lecture du contenu de la ligne

}

?>

Le message d'erreur est le suivant :" Notice: Undefined variable: page in c:\program files\easyphp1-8\www\fopen2_cour.php3 on line 7.

Est ce que quelqu'un aurait l'amabilité de m'expliquer ce qui se passe?

Merci d'avance.
A voir également:

4 réponses

Bonjour
Et que contient la ligne 7 ???
0
hektoumayo Messages postés 31 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 17 juin 2007
18 mars 2005 à 17:46
La ligne 7 contient :

$page .= fgets($fp, 4096); // lecture du contenu de la ligne
0
Utilisateur anonyme
18 mars 2005 à 17:50
euh c'est quoi ce point juste avant le =
essaye plutot $page = fgets($fp, 4096);
et explique nous ce que tu veux faire exactement
0
hektoumayo Messages postés 31 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 17 juin 2007
18 mars 2005 à 18:11
Je ne veux rien faire de spécial , c juste un exemple que j'ai repris sur une page du site commentcamarche.net :

http://www.commentcamarche.net/php/phpfich.php3

Au fait j'ai essayé sans point et ça marche pas.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
18 mars 2005 à 20:16
Salut,

$page.= fgets($fp, 4096);

C'est l'équivalent de:
$page=$page . fgets($fp, 4096);

Donc pour concaténer $page avec fgets(machin) il faut que $page existe. Or ce n'est pas le cas, $page n'a pas été initialisée donc ça te retourne une erreur de "undefined variable".

Il faut l'initialiser avec une chaîne vide par exemple avant de procéder comme ça.

Donc au tout début de ton script il faudrait écrire:
$page='';
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
18 mars 2005 à 20:21
Au fait ton script c'est l'équivalent de
$page = file_get_contents("http://www.commentcamarche.net");

:-)

PS: file_get_contents() ne marche qu'avec les versions supérieures à php.4.3.0
0