Php 将textarea的内容保存到文件时,fwrite不fwriting

Php 将textarea的内容保存到文件时,fwrite不fwriting,php,textarea,fwrite,Php,Textarea,Fwrite,我正在制作一个在线文本编辑器——只是一个简单的文本编辑器。我正试图编写代码将textarea的内容保存到一个文件中——首先将该文件打开到textarea中(这很好),然后我想保存编辑过的文本。写作不起作用。下面是重要的代码(我为混乱道歉,对于我和PHP来说现在还为时过早): 这是因为您正在使用r标志以readonly模式打开文件: $openedfile = fopen($filename, "r"); -------------------------------^ 您应该使用r+、w或a

我正在制作一个在线文本编辑器——只是一个简单的文本编辑器。我正试图编写代码将textarea的内容保存到一个文件中——首先将该文件打开到textarea中(这很好),然后我想保存编辑过的文本。写作不起作用。下面是重要的代码(我为混乱道歉,对于我和PHP来说现在还为时过早):


这是因为您正在使用
r
标志以
readonly
模式打开文件:

$openedfile = fopen($filename, "r");
 -------------------------------^
您应该使用
r+
w
a
(追加)标志

仅用于阅读

使用


您已以只读模式打开文件句柄。

$openedfile=fopen($filename,“r”)您正在以只读模式打开文件,请使用

r+
而不是
r

我建议您研究一下,因为它简化了所有的
fwrite
句柄和
fclose
内容。使用此功能通常非常简单。从文件中可以看出:

$file = $filename;
$text .= "Hello\n";
file_put_contents($file, $text);

我用以下代码进行了尝试:
$newcontents=$\u POST[“textdata”];文件内容($filename,$newcontents),遗憾的是,它仍然不起作用。我知道$newcontents包含文件的更新版本,而$filename适用于代码前面的
file\u get\u contents()
。可能是权限问题吗?可能是。检查您的权限,目录和文件都是755,听起来不错。我发现并不是文件内容什么都不做——它会把文件擦干净。$newcontents中的任何内容都会在textarea和函数之间丢失。您可以添加第三个参数,将字符串追加到文件中。追加并不重要-textarea显示整个文件,我编辑它,然后整个文件可以写回服务器。只是那没用。我会一直戳它。
 fopen($filename, "r");
fopen($filename, "r+");
$file = $filename;
$text .= "Hello\n";
file_put_contents($file, $text);