我保存到表单中的文件数据:
$name = $_POST['name'];
$url = $_POST['url'];
$comm = $_POST['comm'];
$data["name"]=$name;
$data["url"]=$url;
$data["comm"]=$comm;
file_put_contents("db.txt", serialize($data));
现在,我想按记录阅读此文件记录。
$file_handle = fopen("db.txt", "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
$arr = unserialize($line);
var_dump($arr);
}
fclose($file_handle);
但是这段代码只读了最后一条记录。如何阅读所有文件?
答案 0 :(得分:1)
将file_put_contents("db.txt", serialize($data));
替换为
file_put_contents("db.txt", PHP_EOL .serialize($data), FILE_APPEND);
file_put_contents(“db.txt”,serialize($ data)); //将一遍又一遍地重写文件。所以你无法读取所有数据。 FILE_APPEND有助于附加数据并且PHP_EOL有助于保持线路畅通。
答案 1 :(得分:1)
您好我为您的解决方案尝试此代码:
<?php
$name = "rdn";
$url = "http://google.it";
$comm = "com";
$data["name"]=$name;
$data["url"]=$url;
$data["comm"]=$comm;
file_put_contents("db.txt", serialize($data)."\n",FILE_APPEND);
$fh = fopen('db.txt','r');
while ($line = fgets($fh)) {
// <... Do your work with the line ...>
var_dump(unserialize($line));
}
fclose($fh);
?>
没有&#34; \ n&#34; 不能工作!