Crée un text en php et allé a la ligne
Résolu
fooximane
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
fooximane Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
fooximane Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voila mon problème mon script marche bien, j'arrive a allé a la troisième ligne comme vous pouvez le voir sur le script ci-dessous c'est mon but, mais je voudrai allé a la fin de la ligne pour ne pas écrasé les donnés qui s'y trouve
ex:
1ligne
2ligne
3ligne (ne pas écrire ici )essfdsfgfsg(je voudrai écrire ici)
pourrez vous m'aidez car je patauge depuis des heures :(
Merci d'avance, voici mon script :
<?php
$monfichier = fopen('teste.txt', 'r+');
$ligne = fgets($monfichier);
$ligne = fgets($monfichier);
$ligne = fgets($monfichier);
fputs($monfichier, ($_POST['nom']));
fclose($monfichier);
?>
voila mon problème mon script marche bien, j'arrive a allé a la troisième ligne comme vous pouvez le voir sur le script ci-dessous c'est mon but, mais je voudrai allé a la fin de la ligne pour ne pas écrasé les donnés qui s'y trouve
ex:
1ligne
2ligne
3ligne (ne pas écrire ici )essfdsfgfsg(je voudrai écrire ici)
pourrez vous m'aidez car je patauge depuis des heures :(
Merci d'avance, voici mon script :
<?php
$monfichier = fopen('teste.txt', 'r+');
$ligne = fgets($monfichier);
$ligne = fgets($monfichier);
$ligne = fgets($monfichier);
fputs($monfichier, ($_POST['nom']));
fclose($monfichier);
?>
6 réponses
-
ajouter fseek($monfichier,0,SEEK_END); avant le fputs te convient-il?
-
Si tu veux juste mettre $_POST['nom'] à la fin du fichier il suffit de faire
$monfichier = fopen('teste.txt', 'a');
fputs($monfichier, $_POST['nom']); -
je vais tester tout de suite, Leviathan49 le problème c'est que je ne veut pas que se soit a la fin du texte il y à des ligne après environ 15 lign ( programmation bat ) donc je vise la fin de la troisième ligne pour compléter mon bat
-
-
non justement je ne veut pas allé a la ligne mais complété la ligne justement
imaginon
ligne 1 = un petit mouton rouge
ligne 2 = un petit mouton bleue
ligne 3 = un petit mouton (la je v mettre mon texte )
ligne 4 = un petit mouton orange
....
tu voi se que je v dire si je vai a la ligne sa remplasera la ligne 4 , et je ne pe pas crer la lign 3
complète car c'est du langage bat, donc il faut que ce langage soi déjà écrie
-
-
fseek($monfichier,0,SEEK_END); a quoi correspond le 0 ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ah, une ligne précise... Je propose alors :
$monfichier = fopen('t.txt', 'r+');
$ligne = fgets($monfichier);
$ligne = fgets($monfichier);
$ligne = fgets($monfichier);
$var = trim($ligne); // recupèrer la troisième ligne sans saut de ligne
rewind($monfichier); // reviens au début du fichier
$ligne = fgets($monfichier);
$ligne = fgets($monfichier);
fputs($monfichier, $var."test");
fclose($monfichier); -
Oui, après reflexion cette solution risque de ne pas marcher et d'ecraser les lignes du dessous...
Solution de facilité :
$monfichier =file('t.txt'); $monfichier2 = fopen('t2.txt', 'w'); $i=0; foreach($monfichier as $line) { $i++; if($i==3) { fputs($monfichier2,trim($line)."test\n"); // trim pour virer le retour à la ligne } else { fputs($monfichier2,$line); } } fclose($monfichier2); rename('t2.txt','t.txt');
J'ai testé et ça met bien test a la fin de la troisième ligne sans supprimer le reste.-
-
-
-
-
$monfichier = file('teste.txt');
$monfichier2 = fopen('t2.txt', 'w');
$i=0;
foreach($monfichier as $line)
{
$i++;
if($i==3)
{
fputs($monfichier2,trim($line)."test\n"); // trim pour virer le retour à la ligne
}
else
{
fputs($monfichier2,$line);
}
}
fputs($monfichier2, ($_POST['nom']));
fclose($monfichier2);
rename('t2.txt','teste.txt');
-