0

通过 PHP file_get_contents/file_put_contents 读取/写入时出现问题。基本上我想将文本文件读入文本区域(单击编辑文件按钮)并能够编辑它并提交更改(提交更改按钮)并使用新文件内容重绘文本区域。

它读起来很好。

它删除所有文件的内容,而不是覆盖/更新它,留下一个空白文件。

似乎它无法获取 textarea 内容并将它们作为文件的新内容输入。我知道它是微不足道的,我很想念它。

在 Win Apache 服务器上运行。

代码:

<html>
<body>
<form name="form" method="POST">
<input type="submit" name="pickedName" value="Edit File" />&nbsp;
<input name="file_picked" value="1.txt" type="text" id="file_picked" style="width:250px;" />&nbsp;
<input type="submit" name="submitChanges" value="Submit Changes">
</form>

<?php
$file_picked = $_POST['file_picked'];
$edit_field = $_POST['edit_field'];

if (isset($_POST['pickedName'])) {
//get file contents and display in textarea box
$theData = file_get_contents($file_picked);
echo "<textarea name=\"edit_field\" id=\"edit_field\" cols=\"150\" rows=\"30\">";
echo $theData;
echo "</textarea><br />";
}

if (isset($_POST['submitChanges'])) {
//grab new textarea contents and put into file.
$theData = file_put_contents($file_picked, $edit_field);

//redraw textarea with new contents
$theData = file_get_contents($file_picked);
echo "<textarea name=\"edit_field\" id=\"edit_field\" cols=\"150\" rows=\"30\">";
echo $theData;
echo "</textarea><br />";

}
?>
</body>
</html>

任何指针表示赞赏。

4

1 回答 1

0

对文件使用 FILE_APPEND 标志而不是覆盖它

file_put_contents($file_picked, $edit_field, FILE_APPEND);
于 2012-10-16T22:28:36.443 回答