我有一个文本文件。
name.txt(包含)
Sean:”allen”
Peter:”fletcher”
Jake:”wilson”
这是代码:
<?php
// set file to read
$filename = “name.txt”;
$newdata = $_POST['newd'];
if ($newdata != '') {
// open file
$fw = fopen($filename, 'w') or die('Could not open file!');
// write to file
// added stripslashes to $newdata
$fb = fwrite($fw,stripslashes($newdata)) or die('Could not write to file');
// close file
fclose($fw);
}
// print file contents
echo "<h3>DEV: Add/Remove Configurations</h3>
<form action='$_SERVER[php_self]' method= 'post' >
<textarea name='newd' cols='90%' rows='50'> $data </textarea>
<input type='submit' value='Change'>
</form>";
?>
如果我想添加,如何修复PHP脚本以将文本附加到name.txt 一条线(汤米:“约翰逊”)。现在,脚本会覆盖文件name.txt
===输出应为=== name.txt(应该包含)
Sean:”allen”
Peter:”fletcher”
Jake:”wilson”
Tommy: “Johnson”)
请指教! THX
答案 0 :(得分:1)
您正在错误地打开文件,如果要将数据附加到文件末尾,请使用a+
参数。 a+
=追加,如果文件不存在则创建
<?php
// set file to read
$filename = “name.txt”;
$newdata = $_POST['newd'];
if ($newdata != '') {
// open file
//$fw = fopen($filename, 'w') or die('Could not open file!');
$fw = fopen($filename, 'a+') or die('Could not open file!');
// write to file
// added stripslashes to $newdata
$fb = fwrite($fw,stripslashes($newdata)) or die('Could not write to file');
// close file
fclose($fw);
}
// print file contents
echo "<h3>DEV: Add/Remove Configurations</h3>
<form action='$_SERVER[php_self]' method= 'post' >
<textarea name='newd' cols='90%' rows='50'> $data </textarea>
<input type='submit' value='Change'>
</form>";
?>