Bonjour à tous.

Je voudrais écrire un fichier qui collecte automatiquement des données. Il ne fonctionne pas.

<? header('Content-type: text/html; charset=utf-8');
$horodatage=date(mktime());
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$methode = $_SERVER["REQUEST_METHOD"];
$adresse = $_SERVER["REQUEST_URI"];
$referer = $_SERVER["HTTP_USER_AGENT"];
$inF = fopen("http://example.com/dossier/page.ini", "a+" );
fputs($inF, $horodatage." : ".$hostname.",".$methode.",".$adresse."\n");
fclose($inF);
}


Cela affiche à l’écran :
a écrit :
Warning: fopen(http://example.com/dossier/page.ini) [function.fopen]: failed to open stream: HTTP wrapper does not support writeable connections in /URL du source on line 9

Warning: fputs() expects parameter 1 to be resource, boolean given in /URL du source on line 10

Warning: fclose() expects parameter 1 to be resource, boolean given in /URL du source on line 11


La manipulation de fichiers est nouvelle pour moi. J’ai beaucoup cherché, mais je ne comprends pas ce qui produit l’erreur et comment la corriger.

Merci pour vos explications.
Modifié par Pyanepsion (27 Jun 2013 - 08:37)
Bonjour,
Si tu utilise le wrapper HTTP pour fopen(), tu ne peux pas ouvrir ton document en écriture (l'écriture n'est pas supportée avec ce wrapper). Du coup, tu dois mettre ton fichier quelque part sur ton serveur, et l'ouvrir en lui passant le chemin à partir de ton serveur:
$inF = fopen("./chemin/vers/ton/fichier/page.ini", "a+" );
GroquikMLV a écrit :
Si tu utilise le wrapper HTTP pour fopen(), tu ne peux pas ouvrir ton document en écriture

Ça a tout l'air d'être ça. Merci GroquikMLV. Smiley smile