Ho provato e cercato una soluzione, ma non ho trovato alcun definitivo.PHP Modifica una singola riga in un file di testo
Fondamentalmente, ho un file txt che elenca nomi utente e password. Voglio poter cambiare la password di un determinato utente.
Contenuto del file users.txt:
user1,pass1
user2,pass2
user3,pass3
che ho provato il seguente codice PHP:
// $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);
Il problema con la soluzione è che si gestisce un file di testo (sequenziale) come file binario. La scrittura che stai usando non funzionerà qui. –
il tuo problema è un esempio del perché non dovresti usare un file di testo piatto ma un database –
Inoltre, c'è il problema della sincronizzazione. Quindi, dovresti provare a usare ['flock'] (http://php.net/manual/en/function.flock.php). Oppure potrebbe far impazzire alcuni utenti. – Prasanth