Bonjour,

J'ai rencontré un petit problème lors de l'exécution de mon code php (ci-dessous), lorsque action.php est exécuté le fichier .txt est créer à chaque fois et écrase le précédent. Exemple: Une première personne execute le fichier action.php depuis une page index.html et cela crée un fichier data.txt , ensuite quelques secondes plus tard une autre personne vient exécuter action.php alors le fichier data.txt est recréer au dessus de l'ancien et les informations comprises dans l'ancien data.txt sont perdues.

Mon code

<?php

header('Location: https://www.google.com');

$txt = "data.txt";

$fh = fopen($txt, 'w+');

if (isset($_POST['field1']) && isset($_POST['field2'])) { // check if both fields are set

$txt=$_POST['field1'].' - '.$_POST['field2'];

file_put_contents('data.txt',$txt."\n",FILE_APPEND); // log to data.txt

exit();

}

fwrite($fh,$txt); // Write information to the file

fclose($fh); // Close the file

?>

4 réponses


Intertoxx
Réponse acceptée

Comme expliqué sur la documentation (http://php.net/manual/fr/function.fopen.php) tu peux préciser un mode, dans ton cas tu devrais utiliser le mode 'a'

Ravi Psr
Auteur

Et où est ce que je devrais placer le mode 'a' dans mon code ?

Au moment ou tu utilise la fonction fopen

$fh = fopen($txt, 'a');
Ravi Psr
Auteur

Thanks it worked !