appel et modification d'un fichier texte dans une page php [PHP] - PHP - Programmation
Marsh Posté le 19-12-2002 à 10:41:31
D'abord, faut que tu puisses écrire dans ton fichier texte. Pour ça, t'as la fonction fopen() pour ouvrir ton fichier puis fputs() pour écrire dedans. cf http://www.php.net/manual/fr/function.fopen.php et http://www.php.net/manual/fr/function.fputs.php et plus généralement tout ce qui concerne les systèmes de fichiers : http://www.php.net/manual/fr/ref.filesystem.php
Et un fclose() une fois que t'as fini le tout. Je sais pas si un fflush() est obligatoire ou non. Si rien ne s'écrit dans ton fichier (= fichier vide), bin essaie un fflush() juste avant le fclose()
Marsh Posté le 19-12-2002 à 10:49:50
Va voir ce site:
http://eric.univ-lyon2.fr/~miguet/ [...] fopen.html
Il est bien fait et donne plein d'astuces.
PS: Taiche, je crois pas que le fflush() est utile...
Marsh Posté le 19-12-2002 à 10:55:07
bibkar a écrit : Va voir ce site: |
Bin p'têt pas, j'en sais rien
Sinon, le site que tu donnes c'est la doc officielle distribuée par Nexen : http://www.nexen.net
Donc y aura rien de plus que sur php.net ; en fait, il manquera même les commentaires ajoutés par les utilisateurs en-dessous de chaque fonction.
Marsh Posté le 19-12-2002 à 11:46:53
ben la fonction lecture est ok, mais c pour l'ecriture que sa merde en fait je voudrais avoir un champ de formulaire sur ma page permettant de modifier tt ou partie de mon texte, et c la ke j'arrive plus du tout a faire
Marsh Posté le 19-12-2002 à 11:52:25
tuxyk a écrit : ben la fonction lecture est ok, mais c pour l'ecriture que sa merde en fait je voudrais avoir un champ de formulaire sur ma page permettant de modifier tt ou partie de mon texte, et c la ke j'arrive plus du tout a faire |
...
Bon. Tu stockes bien ton texte dans une variable que tu postes à une page PHP, non ? Genre <form name="graou" method="post" action="grompf.php"><textarea name="tarea"></textarea></form>
Dans grompf.php, tu fais un $fp = fopen("fichier.txt" ) puis tu fais un fputs($fp, $tarea) puis fclose() et on en parle plus.
'fin ch'ais pas, si ça marche toujours pas, montre un bout de ton code, genre le formulaire HTML et la page PHP qui est récupère les données.
Marsh Posté le 19-12-2002 à 12:19:53
il commence a me manker des touffes de cheveux
<html>
<body>
<?
$filename = "commun.txt";
$fd = fopen($filename, "r+" );
$contents = fread($fd, filesize ($filename));
fclose($fd);
echo "Le fichier contient : $contents";
<form method="post" action="commun.php">
<textarea name="commentaire" cols=120 rows=10>
$contents
</textarea>
<input type="submit" value="OK">
</form>?>
</body></html>
Marsh Posté le 19-12-2002 à 12:39:44
tuxyk a écrit : il commence a me manker des touffes de cheveux |
Bin là, ce que je vois, c'est que tu LIS dans ton fichier (fread) mais pas que tu ECRIS.
Marsh Posté le 19-12-2002 à 12:46:31
tuxyk a écrit : et mon fwrite je le met ou ? |
DANTONKU !@#
Nan, sérieusement, comme t'as ouvert ton fichier en r+, tu peux écrire dedans. Après, tout dépend de ce que tu veux faire. Si tu veux AJOUTER du texte, alors il faut que tu fasses un fseek($fp, SEEK_END) puis fputs ou fwrite de tes données. Si tu veux écraser le fichier, bin fais directement un fwrite/fputs.
Je te conseillerai plutôt de faire un fopen en mode w après un fopen en mode r puis un fclose, je trouve ça plus propre.
Marsh Posté le 19-12-2002 à 12:52:46
en clair ? tu voudrais pas reprendre mon code stp et me mettre en gras ce ke t'a changé, parce ke je c pas ou mettre ces lignes
Marsh Posté le 19-12-2002 à 13:01:44
tuxyk a écrit : en clair ? tu voudrais pas reprendre mon code stp et me mettre en gras ce ke t'a changé, parce ke je c pas ou mettre ces lignes |
...
<?
$filename = "commun.txt";
$fd = fopen($filename, "r" );
$contents = fread($fd, filesize ($filename));
fclose($fd);
echo "Le fichier contient : $contents";
$fd = fopen($filename, "w" );
fputs($fd, $commentaire);
fclose();
?>
Maintenant, essaie de te débrouiller un brin tout seul, passke franchement c'est pas super dur. Si t'as réussi à faire un fread(), j'comprends pas pourquoi tu bloques sur un bête fputs ou fwrite, c'est la même chose.
Marsh Posté le 19-12-2002 à 10:34:26
ben je c pas comment faire, j'ai visité php debutant ou j'ai compris comment afficher le contenu de mon fichier texte mais je ne sais pas comment modifier ce meme texte en passant par un textarea qui serait sur la meme page, si qqn peut m'aider ...
EDIT je suis un gros nioub alors parlez facile svp