Problème php

hektoumayo -  
kilian Messages postés 8854 Statut Modérateur -
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

ric
 
Bonjour
Et que contient la ligne 7 ???
0
hektoumayo Messages postés 31 Statut Membre
 
La ligne 7 contient :

$page .= fgets($fp, 4096); // lecture du contenu de la ligne
0
Utilisateur anonyme
 
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 Statut Membre
 
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 8854 Statut Modérateur 1 526
 
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 8854 Statut Modérateur 1 526
 
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