PHP file_put_contents textarea问题

时间:2012-10-16 22:23:19

标签: php textarea fopen fwrite

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

看起来很好。

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

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

在Win Apache服务器上运行。

CODE:

<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>

任何指示赞赏。

1 个答案:

答案 0 :(得分:0)

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

file_put_contents($file_picked, $edit_field, FILE_APPEND);