Ecriture dans fichier texte
Bonjour,
Voici mon problème : j'ai un script PHP et un fichier texte. Le script est censé écrire dans le fichier des nombres représentant le nombre de connexions à un site depuis une date.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| $fichComptes = fopen("/var/www/NewDialup/fichComptes.txt", "r+");
$firstline = fgets($fichComptes);
$sql = "SELECT COUNT(DISTINCT username) FROM radcheck";
$req = mysqli_query($connect, $sql) or die('Erreur SQL : '.mysqli_error());
while ($row = mysqli_fetch_row($req))
{
rewind($fichComptes);
$firstline = $row[0];
fwrite($fichComptes, $firstline);
}
$fich = file('fichComptes.txt');
$explode = explode("\n", $fich);
$nbProvisoire = $firstline - $fich[1]; // nombre de comptes crees hier
$fich[1] = $firstline; // apres avoir calcule ce nombre, on met le compteur a jour
fwrite($fichComptes, "\n".$firstline);
fseek($fichComptes, 0, SEEK_END);
$ligne = fgets($fichComptes);
$ligne = explode(" ", $fich[3]);
$nbActuel = intval($ligne[1]);
$nbActuel = $nbActuel + $nbProvisoire;
unset($ligne);
fwrite($fichComptes, date("Y")." ".$nbActuel); // pour la reecrire avec les valeurs actuelles
fclose($fichComptes); |
Je voudrais que le script agisse de la façon suivante :
Voici le fichier texte avant exécution du script (575 connexions recensées) :
Code:
1 2 3 4
| 575 // nombre de connexions au total
575 // nombre provisoire
2011 300 // connexions faites en 2011
2012 275 // en 2012 |
Après exécution, pour 5 nouvelles connexions recensées :
Code:
1 2 3 4
| 580 // nombre de connexions au total
580 // nombre provisoire
2011 300 // connexions faites en 2011
2012 280 // en 2012 |
Le nombre provisoire me permet de calculer le nombre de nouvelles connexions effectuées depuis les dernières heures : 580 - 575 = 5
J'ajoute ce nombre au nombre de connexions de la ligne correspondante (2012) donc 275 + 5 = 280
Sur le code que j'ai fourni, je n'arrive pas à placer mon pointeur sur la dernière ligne, à effacer cette ligne et à réécrire la ligne comme ceci : 2012 280.
Des idées svp ?