[PHP] appel et modification d'un fichier texte dans une page php

appel et modification d'un fichier texte dans une page php [PHP] - PHP - Programmation

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

Reply

Marsh Posté le 19-12-2002 à 10:34:26   

Reply

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() :D


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

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...


---------------
heartbreak ridge
Reply

Marsh Posté le 19-12-2002 à 10:55:07    

bibkar a écrit :

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...


 
Bin p'têt pas, j'en sais rien :D
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.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

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


Message édité par tuxyk le 19-12-2002 à 11:48:51
Reply

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.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

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>

Reply

Marsh Posté le 19-12-2002 à 12:39:44    

tuxyk a écrit :

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>


 
Bin là, ce que je vois, c'est que tu LIS dans ton fichier (fread) mais pas que tu ECRIS.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 19-12-2002 à 12:42:06    

et mon fwrite je le met ou ?

Reply

Marsh Posté le 19-12-2002 à 12:46:31    

tuxyk a écrit :

et mon fwrite je le met ou ?


 
DANTONKU !@# [:ddr555]  
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.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 19-12-2002 à 12:46:31   

Reply

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

Reply

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.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed