2013-06-18 7 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

당신은 당신의 오류 로그 안에 봤어? –

+0

\ xampp \ apache \ logs \ error.log? 아무 변화도, 마지막 것은 2 일 전에, –

+0

당신의 파일에 chmod 0666 그래서 아파치는 그것을 쓸 수 있는가? – Twisted1919

답변

1

귀하의 텍스트 영역 이름은 editor1 btw입니다. 루프가 필요 없으면 $_POST을 반복 할 때 $ 값은 마지막으로 $_POST으로 덮어 씁니다.

$editor1 = $_POST[ 'editor1' ]; 

CKEditor doc

+0

그러나 결국, $ 값은 내가 원하는 값을 반환하고, 나는 그저 쓸 수 없다. 파일 –

+0

내가 htmlentities로 번역해야하지만, 나중에 제대로 표시됩니다,하지만이 방법은, 그것은 마크 업/HTML 코드에 반환하고, 덕분에 –

+0

덕분에, 내가 처음 양식이 생성되면 변수 ($ 계약)와 file_get_contents하지만 편집하고 성공한 후 양식으로 돌아 가면 양식 내용이 변경되지 않습니다. 이유는 무엇입니까? –