2013-06-18 237 views
0

即時嘗試使用CKEditor來編寫一個文件(協議內容),以便它可以由後端管理員編輯。php-file_put_contents does not work

<?php $agreement = file_get_contents('xxxx.txt');?> 
<textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"> 
<?php echo $agreement; ?> 
</textarea> 

在這一點上,#agreement值返回的權利,並將其顯示在文本區域(富文本編輯器)顯示正確的HTML元素

我的PHP文件(提交操作)

if (!empty($_POST)) 
{ 
    foreach ($_POST as $key => $value) 
    { 
    if ((!is_string($value) && !is_numeric($value)) || !is_string($key)) 
     continue; 

    if (get_magic_quotes_gpc()) 
     $value = htmlspecialchars(stripslashes((string)$value)); 
    else 
     $value = htmlspecialchars((string)$value); 
?> 
    <tr> 
     <th style="vertical-align: top"><?php echo htmlspecialchars((string)$key); ?></th> 
     <td><pre class="samples"><?php echo $value; ?></pre></td> 
    </tr> 
<?php 
} 
}?> 

<?php echo $value; 
    $file = 'xxxx.txt'; 
    // Open the file to get existing content 
    file_put_contents($file, $value); 
?> 

在我回應ed $值的行中, 它返回確切的東西我想要(&lt;h2&gt;Hello Worldwqdwqdqwdqa&lt;/h2&gt;)存儲/寫入我的文本文件, 但xxx.txt文件根本不會改變。 我錯過了什麼?

+1

你有沒有看你的錯誤日誌裏面? – 2013-06-18 18:20:59

+0

\ xampp \ apache \ logs \ error.log?沒有變化,最後一個是前兩天, –

+0

chmod 0666就可以讓你的文件在apache上寫嗎? – Twisted1919

回答

1

您的textarea名稱是editor1 btw。你不需要循環,因爲你循環$_POST,$值將被最後的$_POST覆蓋。

$editor1 = $_POST[ 'editor1' ]; 

CKEditor doc

+0

然而,最後,$價值返回正確的價值我想,我只是不能寫入到文件 –

+0

我雖然這應該被翻譯成htmlentities,所以它會稍後正確顯示,但這種方式,它返回到標記/ HTML代碼,它的工作原理,謝謝 –

+0

現在我得到了這個問題,當第一個形式,我產生變量($協議)與file_get_contents,但是,我編輯和成功後,我回到窗體,窗體內容不會改變,你知道爲什麼嗎? –