Supprimer les dernières lignes d'un fichier. - PHP - Programmation
Marsh Posté le 16-02-2007 à 22:56:00
Je suis pas tres fort en traitement de fichiers avec php, mais la solution la plus simple pourmoi est de lire le contenu, et de reecrire ce dont tu as besoin uniquement dans unnouveau fichier et de supprimer l'ancien fichier.
Il y a surement une solution plus simple...
Marsh Posté le 17-02-2007 à 01:28:01
Bonsoir,
Voici comment il est possible de voir la chose.
Code :
|
Marsh Posté le 17-02-2007 à 09:46:43
file_put_contents(
$file_path,
array_slice(file($file_path), 0, $line_count)
);
(Non testé.)
Marsh Posté le 19-02-2007 à 16:31:10
Merci beaucoup,
J'ai pris la solution de Protohd. Pour le code de sielfried, c'est une bonne idée le array_slice (je ne connaissais pas), mais je crois qu'il manque qqchose pour intégrer le tableau.
Marsh Posté le 19-02-2007 à 16:41:40
Euh non, a priori il ne manque rien.
file() renvoit un tableau déjà.
Marsh Posté le 20-02-2007 à 11:23:19
Ouep, mais bizarrement ca m'écrit juste un "Array" dans le fichier texte. Il faut que je passe par une boucle pour que chaque ligne s'inscrive.
Marsh Posté le 20-02-2007 à 15:10:24
file_put_contents peut prendre un tableau de lignes en second paramètre, peut-être pas depuis la dernière version de PHP par contre même si la doc ne dit rien à ce sujet.
Sinon à remplacer par :
file_put_contents(
$file_path,
array_slice(
implode('', file($file_path)),
0,
$line_count
)
);
Marsh Posté le 21-02-2007 à 21:10:33
La méthode de Sielfried est vraiment beaucoup mieux.
Code :
|
Marsh Posté le 16-02-2007 à 19:13:48
Bonjour,
Je cherche à supprimer les dernières lignes d'un fichier à partir de la ligne 100.
J'arrive à mettre mon fichier dans un tableau avec file('fichier.txt'), mais après je ne vois pas d'autres solutions que de supprimer le fichier avec Unlink.
Mais cette solution ne me convient pas, car c'est pour purger les posts d'un petit tchat'.
Merci d'avance