PHP Modifier une seule ligne dans un fichier texte

J'ai essayé et cherché une solution, mais ne peut pas trouver de façon définitive.

En gros, j'ai un fichier txt qui répertorie les noms d'utilisateur et mots de passe. Je veux être en mesure de changer le mot de passe d'un utilisateur en particulier.

Contenu de users.txt fichier:

user1,pass1
user2,pass2
user3,pass3

J'ai essayé le code php suivant:

            //$username = look for this user (no help required)
            //$userpwd  = new password to be set 

    $myFile = "./users.txt";
    $fh = fopen($myFile,'r+');

    while(!feof($fh)) {
        $users = explode(',',fgets($fh));
        if ($users[0] == $username) {
            $users[1]=$userpwd;
            fwrite($fh,"$users[0],$users[1]");
        }
    }       

    fclose($fh);    
  • Le problème avec ta solution c'est que vous êtes la manipulation d'un texte (séquentiel) fichier comme un fichier binaire. Le fwrite vous utilisez ne fonctionnera pas ici.
  • votre problème est un exemple de pourquoi vous ne devez pas utiliser une plate fichiers texte, mais une base de données
  • Il y a aussi le problème de la synchronisation. Donc, vous devriez essayer d'utiliser flock. Ou, il pourrait facilement conduire certains utilisateurs de fou.
InformationsquelleAutor antikbd | 2012-09-19