Php: modifier ligne prédéfinie dans un fichier texte.

adeltimple Messages postés 12 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 17 décembre 2008 - 17 déc. 2008 à 17:57
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 17 déc. 2008 à 19:43
bonsoir.
Je suis entrain de me créé une fonction qui va me permettre de modifier une ligne d'un fichier texte. (ici pour modifier un htpasswd)
mais cela ne marche pas: au lieu de mettre à la place du texte présent, il met à la suite.

voila ma fonction:

//réinitialiser une ligne
function modif($msg, $li, $nom)
{
$array=file($nom);
$array[$li]=$msg;
unlink($nom);
$file = fopen($nom, "w+"); // ouvre le fichier en écriture
for ($l=0;$l

8 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 déc. 2008 à 18:13
Salut,

Une légère intuition me dit qu'il manque quelques lignes.

Kohntark -
0
adeltimple Messages postés 12 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 18:43
c'est vrai.
Désolé.

voila donc ma fonction:

function modif($msg, $li, $nom)
{
$array=file($nom);
$array[$li]=$msg;
unlink($nom);
$file = fopen($nom, "w+"); // ouvre le fichier en écriture
for ($l=0;$l
0
adeltimple Messages postés 12 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 18:45
ben alors!! il me coupe ma fonction!!
<?php
function modif($msg, $li, $nom)
{
$array=file($nom);
$array[$li]=$msg;
unlink($nom);
$file = fopen($nom, "w+"); // ouvre le fichier en écriture
for ($l=0;$l<sizeof($array);$l++)
{
fputs($file,$array[$l]);
}
fclose($file); // ferme le fichier
}
???>
0
adeltimple Messages postés 12 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 18:47
for ($l=0;$l
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 déc. 2008 à 19:13
essaie encore

Kohntark -
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 déc. 2008 à 19:17
Hello,

allez...

modif($msg, $li, $nom) {
    $array=file($nom);
    $array[$li]=$msg;
    file_put_contents($nom, implode('', $array));
}
0
adeltimple Messages postés 12 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 19:39
ok merci je vais essayer ça.

je réessaye mon code qui était différent:
function modif($msg, $li, $nom)
{
$array=file($nom);
$array[$li]=$msg;
unlink($nom);
$file = fopen($nom, "w+"); // ouvre le fichier en écriture
for ($l=0;$l
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 déc. 2008 à 19:43
file_put_contents() n'est dispo qu'en php5 par contre.
0
Rejoignez-nous