如何让这个 php 脚本在 data.txt 中添加一行或让它写入不同的

Posted

技术标签:

【中文标题】如何让这个 php 脚本在 data.txt 中添加一行或让它写入不同的【英文标题】:How do I make this php script add a line to data.txt or make it write to a different 【发布时间】:2019-10-30 01:57:43 【问题描述】:

我有一个用于用户输入的 php 脚本,现在我希望这个脚本“添加到现有文件 data.txt(首选)”或为每个名为 $field1 的答案创建一个单独的文件

<?php
$txt = "data.txt";
$fh = fopen($txt, 'w+');
if (isset($_POST['field1']) && isset($_POST['field2']))  // check if both fields are set
 $txt=$_POST['field1'].' - '.$_POST['field2'];
 file_put_contents('data.txt',$txt."\n",FILE_APPEND); //log to data.txt
 exit();

 fwrite($fh,$txt); // write information to the file
 fclose($fh); // close the file

?>

这是网站上必须写的表格

"Name - Vote"
"Name - Vote"
"Name - Vote"

现在它会覆盖文件而不是添加到文件中

【问题讨论】:

你能发布你正在做的事情吗?在这里瞎开车? 这是网站上的一个表格,必须写“姓名 - 投票” “姓名 - 投票” “姓名 - 投票” 现在它会覆盖文件而不是添加到文件中 您的代码存在逻辑错误 【参考方案1】:

@Eric:读取代码中插入的cmets进行解析

<?php
$txt = "data.txt";
$fh = fopen($txt, 'a'); // the correct open flag for append end of file
if (isset($_POST['field1']) && isset($_POST['field2']))  // check if both fields are set
 $txt=$_POST['field1'].' - '.$_POST['field2'];
 fwrite($fh, $txt . "\n"); // carriage return added (*assumption needed)
 // exit(); // omit

 // fwrite($fh,$txt); // write information to the file // pointless, redundant
 fclose($fh); // close the file

?>

【讨论】:

以上是关于如何让这个 php 脚本在 data.txt 中添加一行或让它写入不同的的主要内容,如果未能解决你的问题,请参考以下文章

如何让SAS从第二行数据读取

iis7.0解析漏洞 php用啥软件检测

如何在幻灯片中添加下一个/上一个按钮

如何使用 PHP 处理 403 错误

如何在 Android 的警报对话框中添加多项选择复选框?

Docker - 无法通过脚本删除容器内的文件