2011-11-21 40 views
2

我正在製作一個在線文本編輯器 - 對我自己的東西來說只是一個簡單的文本編輯器。我試圖編寫代碼將textarea的內容保存到一個文件中 - 首先將文件打開到textarea(它工作正常),然後我想保存編輯後的文本。寫作不起作用。這裏是重要的代碼(我道歉的混亂,這是非常早期的天,我和PHP):將文本區域的內容保存到文件時,fwrite不會寫入

<form method="post" action="<?php echo $_SERVER['$PHP_SELF'];?>"> 
<textarea rows="30" cols="80" name="textdata"><?=$contents?></textarea> 
<br /> 
<?php 
$newcontents = $_POST["textdata"]; 
$openedfile = fopen($filename, "r"); 
fwrite($openedfile, "hello"); 
?> 
<input type="submit" name="save" value="Save Changes" /> 
</form> 

我敢肯定這件事情令人尷尬的簡單。

回答

0
fopen($filename, "r"); 

是UED僅供閱讀...

使用

fopen($filename, "r+"); 
0

你打開一個只讀模式的文件句柄。

0

$openedfile = fopen($filename, "r");您是隻讀方式打開文件,使用 r+代替r

0

我建議你尋找到file_put_contents,因爲它簡化了所有的fwritehandlefclose東西。通常使用這個功能非常容易。從文檔中獲取:

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

我試着用下面的代碼:'$ newcontents = $ _POST [「textdata」]; file_put_contents($ filename,$ newcontents);',可悲的是,它仍然不起作用。我知道$ newcontents包含文件的更新版本,並且$ filename在代碼中早些時候用於'file_get_contents()'。它可能是一個權限問題?也許是 – lowercasename

+0

。用http://php.net/manual/en/function.fileperms.php查看你的權限 –

+0

目錄和文件都是755,這聽起來很正確。我發現它並不是說file_put_contents什麼都不做 - 它將文件清理乾淨。它必須是在$ newcontents中的任何東西都會在textarea和函數之間丟失。 – lowercasename

相關問題