Aller au contenu

Sujets conseillés

Posté (modifié)

bonjour,

j'ai trouvé un script qui me permet de recueillie la date et l'heure des visites sur mon site.

j'ai trouvé le script suivant mail il ne marche pas même si j'ai créé le fichier vierge LOGS.TXT

cela nécessite-t-il une base de donnée ?

<?php function MajLog(); ?>
<?php
function MajLog()
{
$ref = "";
$user = "";
$agent = $_SERVER['HTTP_USER_AGENT'];
$uri = $_SERVER['REQUEST_URI'];
if (isset($_SERVER['PHP_AUTH_USER']))
$user = $_SERVER['PHP_AUTH_USER'];
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_REFERER']))
$ref = $_SERVER['HTTP_REFERER'];

$dtime = date('Y/m/d * g:i:s a');

if($ref == ""){
$ref = "None";
}
if($user == ""){
$user = "None";
}

$entry_line = "$dtime * $ip * $agent * $uri * $ref * $user";
$fp = fopen("logs.txt", "a");
fputs($fp, $entry_line);
fputs($fp, "\n");
fclose($fp);
}
?>

Je vous remercie de m'aider ^^

;) ;)

Modifié par - darkstar -
Posté

Bonjour,

Cela dépend de ton serveur mais je pense que tu dois donner le chemin complet de ton fichier comme par exemple

/home/www/log.txt

c'est à vérifier selon ton serveur !

Patrick

Posté (modifié)

tout est vérifié..

j'ai mis sur ma page index.php

<?php

include("mm/log.php");

?>

et dans le répertoire mm il y a log.php qui contient le code que j'ai mis au début du sujet. Je le rappelle ici :

J'ai également créé logs.txt dans le dossier mm comme indique dans ce même code. Mais rien n'y fait

<?php function MajLog(); ?>
<?php
function MajLog()
{
$ref = "";
$user = "";
$agent = $_SERVER['HTTP_USER_AGENT'];
$uri = $_SERVER['REQUEST_URI'];
if (isset($_SERVER['PHP_AUTH_USER']))
$user = $_SERVER['PHP_AUTH_USER'];
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_REFERER']))
$ref = $_SERVER['HTTP_REFERER'];

$dtime = date('Y/m/d * g:i:s a');

if($ref == ""){
$ref = "None";
}
if($user == ""){
$user = "None";
}

$entry_line = "$dtime * $ip * $agent * $uri * $ref * $user";
$fp = fopen("logs.txt", "a");
fputs($fp, $entry_line);
fputs($fp, "\n");
fclose($fp);
}
?>

Modifié par DarkStar
Posté

ah oui j'ai aussi oublié de préciser que je suis sur serveur free et donc les serveurs apache ne prennent pas en compte la fonction CHMOD contrairement aux serveurs Linux.

Je me suis rendu compte en essayant de chmoder logs.txt en 777 et ca marchait pas.

Est-ce important ?

Posté

Bonjour

ah oui j'ai aussi oublié de préciser que je suis sur serveur free et donc les serveurs apache ne prennent pas en compte la fonction CHMOD contrairement aux serveurs Linux.

Linux et Apache ne peuvent pas être comparés :!:

Un serveur Apache (serveur d'application) peut très bien tourner sur un système d'exploitation Linux ou Windows (entres autres).

Je me suis rendu compte en essayant de chmoder logs.txt en 777 et ca marchait pas.

Est-ce important ?

Oui c'est important :) Comment as-tu essayé de changer les droits du fichiers ? En php ?

Posté (modifié)

dans un client ftp (j'utilise FileZillz mais aussi parfois cuteftp mais c'est rare)

dans filezilla je change les attributs du fichier, je mets 777

mais j'arrive pas, quand je regarde encore une fois le chmod c'est toujours 644 ( -rw-r--r-- )

Modifié par DarkStar
Posté (modifié)

ah au fait j'ai du nouveau,

en réalité je ne peux pas faire un log chez free car ils ne permettent pas de modifier les permissions.

J'ai donc décidé d'héberger le logs.txt là ou c'est possible d'écrire dessus (ifrance.com pae exemple devrait faire l'affaire)

j'ai enlevé la première ligne de code comme a dit remi. maus est-ce aussi facile ? d'ailleurs ca ne marche toujours pas car le fichier reste vide même apère les nombreuses exécutions du script :/

voici le dernier fichier log.php, celui ci étant sur free

<?php
function MajLog()
{
$ref = "";
$user = "";
$agent = $_SERVER['HTTP_USER_AGENT'];
$uri = $_SERVER['REQUEST_URI'];
if (isset($_SERVER['PHP_AUTH_USER']))
$user = $_SERVER['PHP_AUTH_USER'];
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_REFERER']))
$ref = $_SERVER['HTTP_REFERER'];

$dtime = date('Y/m/d * g:i:s a');

if($ref == ""){
$ref = "None";
}
if($user == ""){
$user = "None";
}

$entry_line = "$dtime * $ip * $agent * $uri * $ref * $user";
$fp = fopen("http://*******.ifrance.com/logdir/logs.txt", a);
fputs($fp, $entry_line);
fputs($fp, "\n");
fclose($fp);
}
?>

Modifié par DarkStar

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...