Réécrire une ligne dans un fichier txt
Posté : 19 janv. 2019, 23:18
Bonjour,
Je cherche à remplacer une ligne dans un fichier txt.
Ledit fichier txt se présente avec un contenu qui apparait comme tel
pseudo;date;score;scorebis;ip_chiffree;
J'ai une condition qui vérifie que les données envoyées correspondent au pseudo et à l'ip
si l'utilisateur envoie une ligne qui correspond à son ip + pseudo, le but est de remplacer la ligne avec des données renouvelées
J'ai tenté ce script, mais il ne fonctionne pas (identifie la ligne à remplacer mais ne remplace rien dans le fichier texte.txt :
Par avance, un tout grand merci !
Je cherche à remplacer une ligne dans un fichier txt.
Ledit fichier txt se présente avec un contenu qui apparait comme tel
pseudo;date;score;scorebis;ip_chiffree;
J'ai une condition qui vérifie que les données envoyées correspondent au pseudo et à l'ip
si l'utilisateur envoie une ligne qui correspond à son ip + pseudo, le but est de remplacer la ligne avec des données renouvelées
J'ai tenté ce script, mais il ne fonctionne pas (identifie la ligne à remplacer mais ne remplace rien dans le fichier texte.txt :
//nouvelles donnees
$nom = 'Polipol';
$date = '2018-02-23';
$points = 345;
$nbmots = 34;
$ipcryptee = '4b84b15bff6ee5796152495a230e45e3d7e947d9';
// Ce qui existe
// fichier texte.txt contient :
// poil;2018-12-12;23;10;4b84b15bff6ee5796152495a230e45e3d7e947d9;
// pipi;2018-12-19;123;82;4b84b15bff6ee3216152495a230e45e3d7e946ec;
// Ce qu'on cherche
$search = 'poil';
$ipcryptee_check = '4b84b15bff6ee5796152495a230e45e3d7e947d9';
// Ce qu'on remplace
$txt = "$nom;$date;$points;$nbmots;$ipcryptee;\n";
// Fichier
$myfile = fopen("texte.txt", "a+") or die("Unable to open file!");
$lines = file('texte.txt');
foreach($lines as $line)
{
// Vérifier si le fichier contient ce que je cherche
if(strpos($line, $search) !== false && strpos($line,$ipcryptee_check) !== false) {
echo $line;
// si c'est le cas, remplacer la ligne par le nouveau contenu
$repl = substr_replace($line, $txt, 0);
fwrite($myfile, $repl);
fclose($myfile);
}
}
Pourriez-vous me donner un coup de pouce pour le rendre fonctionnel, svp?Par avance, un tout grand merci !