我要创建一个txt包含名称列表的文件,这些名称来自表单.
我的逻辑如下:
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$name = $_POST['username'];
}
function add_name($name, $file_name = "names.txt") {
if(file_exists($file_name)) {
$name = $name;
file_put_contents($file_name, $name);
} else {
$handle = fopen($file_name, 'w+');
fwrite($handle, $name);
fclose($handle);
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,它写了名字,但是当我设置另一条记录时,它会删除之前的任何帮助吗?也许file_put_contents是不是正确的功能使用?
如果该文件已存在,则默认情况下file_put_contents()将覆盖现有文件.
要防止覆盖当前文件,请将该FILE_APPEND标志作为函数的第三个参数传递.
例如:
if (file_exists($file_name)) {
file_put_contents($file_name, $some_value, FILE_APPEND);
} else {
//...
}
Run Code Online (Sandbox Code Playgroud)