Suppression de ligne
Neokrome
-
Neokrome -
Neokrome -
Bonjour,
Je suis face à un problème depuis ce matin!
Je suis novice en php.
J'ai un fichier log.txt qui contient un certains nombre d'entrée, j'aimerai faire un script PHP qui determine le nombre de ligne, et si elle sont supérieur à 30, il supprime la 1ere entrée, et ainsi de suite (par une boucle While)
Je suis face à un problème depuis ce matin!
Je suis novice en php.
J'ai un fichier log.txt qui contient un certains nombre d'entrée, j'aimerai faire un script PHP qui determine le nombre de ligne, et si elle sont supérieur à 30, il supprime la 1ere entrée, et ainsi de suite (par une boucle While)
<?php error_reporting(0); $fichier = fopen("log.txt", "r"); $contenu_fichier = file_get_contents('log.txt'); $nb_ligne = substr_count($contenu_fichier, "\n"); echo $nb_ligne; while ($nb_ligne < 30) { unset($nb_ligne[1]); } fclose ($fichier); ?>
A voir également:
- Suppression de ligne
- Forcer suppression fichier - Guide
- Partage de photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Formulaire en ligne de meta - Guide
2 réponses
Salut salut,
Tu n'es pas très loin mais il faut réécrire dans le fichier, et il faut que tu supprimes plus d'une ligne si plus d'une ligne ce sont insérées. Avec ça ça devrait fonctionner :
Tu n'es pas très loin mais il faut réécrire dans le fichier, et il faut que tu supprimes plus d'une ligne si plus d'une ligne ce sont insérées. Avec ça ça devrait fonctionner :
$filePath = 'log.txt'; $lignes = file($filePath); $count=count($lignes); if($count>30){ //recherche le nombre de ligne à supprimer $rslt=$count-30; for($i=0;$i<$rslt;$i++){ unset($lignes[$i]); } } $str=""; foreach($lignes as $value){ $str.=$value; } $handle = fopen($filePath, 'w+'); fwrite($handle, $str); fclose($handle);