Désolé je ne me suis pas bien expliqué. Je faisais allusion à la ligne fputs ($fichier_sor, $chaine); le premier argument de fputs doit être une "ressource" retournée par fopen, mais le fichier de sortie n'a jamais été ouvert dans le code. De même pour fclose.
Tu as certes ouvert le fichier d'entrée à l'intérieur du bloc if, mais la variable $fp n'a pas été utilisée dans fclose du fichier d'entrée : fclose ($fichier_ent);
Voici comment la famille des fonctions fopen-fread-fwrite-fclose s'utilise normalement :
Code:
1 2 3 4 5
|
$fp = fopen('fichier.txt', 'r');
$ligne = fgets($fp);
var_dump($ligne);
fclose($fp); |
Code:
1 2 3 4 5
|
$fichier = '/chemin/vers/le/fichier.txt';
$fp = fopen($fichier, 'w'); //'w' pour écraser le contenu actuel du fichier, 'a' pour y ajouter des informations
fwrite($fp, 'données');
fclose($fp); |
En plus de file(), tu peux également utiliser la fonction file_get_contents('/chemin/vers/le/fichier.txt') pour lire le contenu d'un fichier d'un seul coup, file_put_contents('/chemin/vers/le/fichier.txt', $donnees) pour remplacer le contenu du fichier par $donnees ou encore file_put_contents('/chemin/vers/le/fichier.txt', $donnees, FILE_APPEND) ajouter $donnees au fichier.