Remplacer une ligne dans un fichier txt par formulaire

nox_satanica Messages postés 8 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 13 septembre 2005 - 23 août 2004 à 12:13
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010 - 24 août 2004 à 14:35
Disons que j'ai un fichier txt appelé "fichier.txt", il contient des nombres comme suit :

1036
489
576
1025
666
123
874

Je veux remplacer la ligne 666 par 1099.

Voilà mon script :

<?php
// Modification d'une ligne
$fichier = "fichier.txt";
// Nom de votre fichier
$ancienNombre = 1025;
// nombre qu'on souhaite supprimer du fichier
$nouveauNombre =666;
$fp = fopen($fichier,"r");
// Ouverture du fichier en lecture
$fp_temp = fopen("temp.txt","w+");
// Ouverture du fichier temporaire
while (!feof($fp)) {
// Parcours du fichier
$ligne = fgets($fp,4000);
// On récupère le nombre de la ligne
if ($ligne!=$ancienNombre){
// Condition de placement
fwrite($fp_temp,$ligne);
} else {
fwrite($fp_temp,$nouveauNombre."\n");
}
}
fclose($fp);
// Fermeture du fichier
fclose($fp_temp);
copy("temp.txt",$fichier);
// On recopie le fichier temporaire obtenu
unlink("temp.txt");
// On l'efface
$tab=file("fichier.txt");
for($i=0;$i<count($tab);$i++){
echo "$tab[$i]";
}
?>

Jusqu'ici tout va bien. Maintenant comment faire pour que l'opération se fasse par formulaire ? Du style :
<html>
<head>
<title></title>
</head>

<form method="POST" action="modif.php">
ancien nombre :

Nouveau nombre

</form>

</html>

Si quelqu'un peut m'aider s'il vous plaît, je suis un cas désespérant en php.

2 réponses

nox_satanica Messages postés 8 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 13 septembre 2005
23 août 2004 à 12:15
J'oubliais de préciser que je travaille en register_global à off
0
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010
24 août 2004 à 14:35
Salut

Je reprends ton code que tu as balancé au dessus. En gras mes ajouts
<?
//-- Empêche les erreurs e-notice
$ancien = !isset($_POST['ancien']) ? '' : $_POST['ancien'];
$nouveau = !isset($_POST['nouveau']) ? '' : $_POST['nouveau'];

//-- Test si on a saisi quelquechose dans le form
if($ancien != '' && $nouveau != '')
{

// Modification d'une ligne
$fichier = "fichier.txt";
// Nom de votre fichier
$ancienNombre = $ancien ;
// nombre qu'on souhaite supprimer du fichier
$nouveauNombre =$nouveau;
$fp = fopen($fichier,"r");
// Ouverture du fichier en lecture
$fp_temp = fopen("temp.txt","w+");
// Ouverture du fichier temporaire
while (!feof($fp)) {
// Parcours du fichier
$ligne = fgets($fp,4000);
// On récupère le nombre de la ligne
if ($ligne!=$ancienNombre){
// Condition de placement
fwrite($fp_temp,$ligne);
} else {
fwrite($fp_temp,$nouveauNombre."\n");
}
}
fclose($fp);
// Fermeture du fichier
fclose($fp_temp);
copy("temp.txt",$fichier);
// On recopie le fichier temporaire obtenu
unlink("temp.txt");
// On l'efface
}

$tab =file("fichier.txt");
for($i=0;$i<count($tab);$i++){
echo "$tab[$i]";
}
?>

Voila, si tu as d'autres questions. n'hésites pas.

Florian
0
Rejoignez-nous