Tôi đã thử và tìm kiếm giải pháp, nhưng không thể tìm thấy bất kỳ giải pháp dứt khoát nào.PHP Sửa đổi một dòng trong một tệp văn bản
Về cơ bản, tôi có tệp txt liệt kê tên người dùng và mật khẩu. Tôi muốn có thể thay đổi mật khẩu của một người dùng nào đó.
Nội dung của tập tin users.txt:
user1,pass1
user2,pass2
user3,pass3
Tôi đã thử đoạn code sau:
// $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);
Vấn đề với giải pháp của bạn là bạn đang xử lý tệp văn bản (tuần tự) dưới dạng tệp nhị phân. Các fwrite bạn đang sử dụng sẽ không hoạt động ở đây. –
vấn đề của bạn là một ví dụ về lý do tại sao bạn không nên sử dụng tệp văn bản phẳng nhưng cơ sở dữ liệu –
Ngoài ra, có sự cố đồng bộ hóa. Vì vậy, bạn nên cố gắng sử dụng ['flock'] (http://php.net/manual/en/function.flock.php). Hoặc, nó có thể dễ dàng khiến một số người dùng phát điên. – Prasanth