63 votes

Comment puis-je écraser le contenu d'un fichier avec un nouveau contenu en PHP ?

J'ai essayé d'utiliser fopen, mais je n'ai réussi qu'à ajouter du contenu à la fin du fichier. Est-il possible d'écraser tous les contenus avec du nouveau contenu en PHP ?

6voto

PYK Points 1225

MA MÉTHODE PRÉFÉRÉE utilise fopen, fwrite et fclose [cela coûtera moins de CPU]

 $f=fopen('myfile.txt','w');
fwrite($f,'new content');
fclose($f);

Avertissement pour ceux qui utilisent file_put_contents

Cela affectera beaucoup les performances, par exemple [sur la même classe/situation] file_get_contents aussi : si vous avez un GROS FICHIER, il lira tout le contenu d'un seul coup et cette opération pourrait prendre un long temps d'attente

5voto

Ram Pukar Points 386
$fname = "database.php";
$fhandle = fopen($fname,"r");
$content = fread($fhandle,filesize($fname));
$content = str_replace("192.168.1.198", "localhost", $content);

$fhandle = fopen($fname,"w");
fwrite($fhandle,$content);
fclose($fhandle);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X