Maison  >  Article  >  développement back-end  >  Comment écrire des données au début d'un fichier en PHP sans écraser le contenu existant ?

Comment écrire des données au début d'un fichier en PHP sans écraser le contenu existant ?

DDD
DDDoriginal
2024-11-07 00:30:03988parcourir

How to Write Data to the Beginning of a File in PHP Without Overwriting Existing Content?

Écrire au début d'un fichier en PHP

Dans votre programme, vous souhaitez écrire des données au début d'un fichier, mais "a"/append ne fait qu'ajouter à la fin. Pour ce faire, vous recherchez une alternative à "r" qui n'écrase pas le contenu existant.

Décomposons votre code :

$datab = fopen('database.txt', "r+");

Cette ligne ouvre le fichier database.txt avec autorisations read-plus ( ), vous permettant de lire et d'écrire. Cependant, l'écriture écrasera toutes les données précédentes.

Pour résoudre ce problème, envisagez la méthode suivante :

<?php
$file_data = "New data to add at the beginning\n";
$file_data .= file_get_contents('database.txt');
file_put_contents('database.txt', $file_data);
?>

Ce code récupère d'abord le contenu existant de database.txt, ajoute vos nouvelles données , puis écrase le fichier avec le contenu combiné, écrivant ainsi au début. Voici comment cela fonctionne :

  • file_get_contents('database.txt') lit le fichier existant et stocke son contenu dans la variable $file_data.
  • Vous pouvez modifier la variable $file_data pour ajoutez vos nouvelles données au début ou n'importe où ailleurs dans la chaîne.
  • file_put_contents('database.txt', $file_data) écrase le fichier database.txt d'origine par le nouveau contenu combiné de $file_data.

Cette méthode vous permet d'écrire des données au début d'un fichier sans perdre les données existantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn