Lecture fichier texte, caractères étranges...
Posté : 04 mai 2008, 01:41
Bonsoir
J'ai un étrange problème lorsque je veut mettre à jour un fichier texte, ou plutôt un fichier css, mais je pense que le format n'y ais pour rien :
La mise à jour se fait via un textarea. Dès que je fait un retour charriot, il est bien pris en compte puisque lorsque j'ouvre le fichier pas de problèmes... mais lorsque je le recharge dans le textarea j'obtiens des caractères ressemblant à un carré/rond avec un ? dedans : �
Un peu de code... ? :
J'ai un étrange problème lorsque je veut mettre à jour un fichier texte, ou plutôt un fichier css, mais je pense que le format n'y ais pour rien :
La mise à jour se fait via un textarea. Dès que je fait un retour charriot, il est bien pris en compte puisque lorsque j'ouvre le fichier pas de problèmes... mais lorsque je le recharge dans le textarea j'obtiens des caractères ressemblant à un carré/rond avec un ? dedans : �
Un peu de code... ? :
if ( $_POST['yo'] )
{
$nouvelles_donnees = $_POST['yo'];
//On ouvre le fichier "mon_fichier.txt" en mode "lecture et écriture"
$file = fopen('../utilisateur/test.css', 'r+');
//On récupère les données dans le fichier
$donnees = fgets($file,4096);
//On vide le fichier de son contenu
ftruncate($file, 0);
//Et on écrit le nouveau contenu
fwrite($file, $nouvelles_donnees);
//Fermeture du fichier
fclose($file);
}
//On ouvre le fichier "mon_fichier.txt" en mode "lecture seule"
$fd = fopen('../utilisateur/test.css', 'r');
$i=1; // compteur de ligne
// Lorsque nous atteindrons la fin du fichier
// foef($fd) retournera faux
// et la boucle while s'arrêtera
while (!feof($fd)) {
// Il est temps de lire une ligne du fichier
// et en tout cas au maximum 1024 caractères
$ligne = fgets($fd, 1024);
// Si la fin du fichier n'est pas atteinte
// On peut maintenant afficher la ligne
if (!feof($fd)) $donnees .= $ligne;
$i++;
}
// On a fini, on ferme !!
fclose($fd);
?>
<form method="post" action="test.php">
<textarea name="yo"><?php echo $donnees; ?></textarea>
<input type="submit" value="Enregistrer" />
</form>