Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

je bloque...

4 réponses
Avatar
bloiiing
Bonjour,

j'essaye de faire un fichier contenant des logs de connections.
j'utilise fopen() avec l'option 'a' et ça ne marche pas alors qu'avec w
et r ça marche. voici le bout de code qui me pose un problème:

<?php
$ip = getenv("REMOTE_ADDR");
$agent = getenv("HTTP_USER_AGENT");
function logs() {
$fp = @fopen("logs.txt",'a');
if ($fp) {
fwrite($fp, $ip . "\n");
fwrite($fp, $agent . "\n");
fclose($fp);
}
}
logs();
?>

j'ai aussi essayé avec "a" sans plus de succès. sinon j'ai deux autres
solutions, soit je crée un fichier pour chaque log, soit je lis tout le
fichier dans une variable et ensuite je l'écrase avec "w". mais
j'aimerais mieux ne pas être obligé de faire ça...

Une idée d'ou vient le problème?

Merci d'avance.

--
To send me an email go to:
Pour m'envoyer un courriel allez à:
http://antispam.moonbeat.net/

4 réponses

Avatar
Calimero
bloiiing wrote:
Bonjour,

j'essaye de faire un fichier contenant des logs de connections.
j'utilise fopen() avec l'option 'a' et ça ne marche pas alors qu'avec w
et r ça marche. voici le bout de code qui me pose un problème:


Si tu espère de l'aide, il faut être plus précis: quel symptômes ?
quels messages d'erreurs affichés ou dans les logs ?

--
@+
Calimero

Avatar
dwojylac.nospam
bloiiing wrote:

<?php
$ip = getenv("REMOTE_ADDR");
$agent = getenv("HTTP_USER_AGENT");
function logs() {
$fp = @fopen("logs.txt",'a');
if ($fp) {
fwrite($fp, $ip . "n");
fwrite($fp, $agent . "n");
fclose($fp);
}
}
logs();
?>

j'ai aussi essayé avec "a" sans plus de succès. sinon j'ai deux autres
solutions, soit je crée un fichier pour chaque log, soit je lis tout le
fichier dans une variable et ensuite je l'écrase avec "w". mais
j'aimerais mieux ne pas être obligé de faire ça...

Une idée d'ou vient le problème?


la portée des variables $ip et $agent, la moindre des choses serait de
les passer en paramètre à la fonction logs()

<?php
function logs($ip, $agent) {
$fp = @fopen("logs.txt",'a');
if ($fp) {
fwrite($fp, $ip . "n");
fwrite($fp, $agent . "n");
fclose($fp);
}
}

logs(getenv("REMOTE_ADDR"), getenv("HTTP_USER_AGENT"));

?>
--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

Avatar
bloiiing
Dominique wrote:
la portée des variables $ip et $agent, la moindre des choses serait de
les passer en paramètre à la fonction logs()

<?php
function logs($ip, $agent) {
$fp = @fopen("logs.txt",'a');
if ($fp) {
fwrite($fp, $ip . "n");
fwrite($fp, $agent . "n");
fclose($fp);
}
}

logs(getenv("REMOTE_ADDR"), getenv("HTTP_USER_AGENT"));

?>
effectivement ça fonctionne. merci beaucoup. je pensais qu'une variable

globale était vue à l'intérieur d'une fonction, un peu comme en java.

merci encore.

--
To send me an email go to:
Pour m'envoyer un courriel allez à:
http://antispam.moonbeat.net/

Avatar
Jahjah92
"bloiiing" a écrit
...
effectivement ça fonctionne. merci beaucoup. je pensais qu'une variable
globale était vue à l'intérieur d'une fonction, un peu comme en java.

bonsoir,

dans une fonction , on peu utiliser une variable externe en l'appellant avec
le mot clé : global , ou en allant la chercher dans $GLOBALS
http://fr3.php.net/global
a+