我目前正在为大学开展一个项目,但我遇到了问题。我有两个页面,每个页面都包含一个表单,其中包含三个文本字段(des,act,date)我正在尝试将其设置为将文本文档中的信息添加到文本文档中,但是它只是在做的一切覆盖它。有谁知道如何解决这个问题?
第1页
if (isset($_GET['logout'])){
session_destroy();
}
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == false) {
header("Location: index.php");
}
//Send Data
$content = 'OBSERVATION'."\r\n".'Breif Description: '.$_POST['des1']."\r\n".'Agreed Action: '.$_POST['act1']."\r\n".'Close Date: '.$_POST['date1']."\r\n";
if (isset($_POST['submit'])){
$myFile=fopen("Observation.txt","w") or exit("Can’t open file!");
fwrite($myFile, $content);
fclose($myFile);
header( 'Location: http://www.murphy.sulmaxmarketing.com/GoodPractices.php' ) ;
}
?>
第2页
if (isset($_GET['logout'])){
session_destroy();
}
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == false) {
header("Location: index.php");
}
//Send Data
$content = "\r\n\r\n".'GOOD PRACTICES'."\r\n".'Breif Description: '.$_POST['des2']."\r\n".'Agreed Action: '.$_POST['act2']."\r\n".'Close Date: '.$_POST['date2']."\r\n";
if (isset($_POST['submit'])){
$myFile=fopen("Observation.txt","w") or exit("Can’t open file!");
fwrite($myFile, $content);
fclose($myFile);
}
?>
答案 0 :(得分:1)
fopen()的模式为'w'
仅供写作; 将文件指针放在文件的开头,并将文件截断为零长度。如果该文件不存在,请尝试创建它。
fopen()的模式为'a'
仅供写作;将文件指针放在文件的 end 。如果该文件不存在,请尝试创建它。在此模式下,fseek()无效,写入始终附加。
答案 1 :(得分:1)
将file_put_contents
功能与FILE_APPEND
标志一起使用。
此函数与调用fopen(),fwrite()和fclose()相同 先将数据写入文件。
FILE_APPEND :如果文件文件名已存在,请将数据附加到文件而不是覆盖它。
...
if (isset($_POST['submit'])) {
file_put_contents("Observation.txt", $content, FILE_APPEND);
header( 'Location: http://www.murphy.sulmaxmarketing.com/GoodPractices.php' ) ;
exit;
}
...
答案 2 :(得分:0)
使用file_put_content
if (isset($_POST['submit'])) {
file_put_contents("Observation.txt", $content, FILE_APPEND);
... your code here
}
file_put_content“FILE_APPEND”中的第三个参数会在每次使用您之前的代码中的新内容时附加您的文件,因为同名的内容会覆盖另一个内容,所以如果您想以这样的方式执行此操作而不是您想要设置的内容两个文件的不同名称。
这里有file_put_content函数url:http://php.net/manual/en/function.file-put-contents.php