2016-08-18 3 views
-2

안녕하세요 저는 HTML 포스트와 기본 PHP를 기반으로하는 스크립트를 만들려고합니다.php fwrite append가 작동하지 않습니다.

나는 HTML에 1 개 입력을 가지고 있고, 나는이 PHP 코드를 가지고 : 나는 그것을 변경 그래서 내 친구의

<?php echo'h'?> 

하나는 내가에 승를 변경 한 경우는 새로운 라인을 만들 것이라고 말했다 여전히 작동하지 않습니다.

기본적으로 내가하려는 것은 텍스트 상자에 단어를 입력 할 때 텍스트 문서에 해당 단어를 씁니다. 그러나 두 번째로는 새 행을 만들지 않고 그냥 새 줄. 난 당신이 이전에 저장된 파일에 게시 된 줄을 추가한다고 가정

<?PHP 
    $file_handle = fopen("sample.txt", "r"); 
    $file_contents = $_POST['f1']; 
    fwrite($file_handle, $file_contents); 
    fclose($file_handle); 
    print "file created and written to"; 
?> 
+0

무엇을 말하고 있습니까? –

+0

관련 코드를 게시하지 않았습니다. –

+0

답변

0

외모가 좀 더 단순한 이름이 file_put_contents()file_get_contents() 인 경우가 있습니다.이 기능을 사용하면 좀 더 쉽게 처리 할 수 ​​있습니다. 아래 코드는 file_put_contents()과 그 친족 : file_get_contents()의 사용을 보여줍니다.

<?php 

     $fileName  = "sample.txt"; 

     // GET THE TEXT TYPED-IN BY THE USER...   
     // ONLY YOU KNOW THE WAY TO GET THIS VALUE BUT WE CAN ASSUME (FOR NOW)   
     // THAT IT IS COMING FROM THE POST VARIABLE AND HAS THE NAME: input 
     $input   = isset($_POST['input']) ? $_POST['input'] : null; 

     // FIRST TRY TO SEE IF THE FILE EXIST, OTHERWISE CREATE IT 
     // HOWEVER; WITH JUST AN EMPTY CONTENT 
     if(!file_exists($fileName)){ 
      file_put_contents($fileName, ""); 
     }   

     // DO THE SAVING ONLY IF WE HAVE ANY INPUT (STRING) TO SAVE 
     if($input){ 
      // GET THE CURRENT CONTENTS OF THE FILE... 
      $fileContent = file_get_contents($fileName); 

      // ADD THE INPUT TO THE CURRENT CONTENTS OF THE FILE (WITH A NEW LINE) 
      $fileContent .= "\n{$input}"; 

      // SAVE THE MODIFIED CONTENT BACK AGAIN... 
      $bytesSaved  = file_put_contents($fileName, $fileContent); 

      // IF THE FILE WAS SUCCESSFULLY WRITTEN... THEN... 
      // DISPLAY A MESSAGE TO THAT EFFECT 
      if($bytesSaved){ 
       print "file created and written"; 
      } 

     } 
0

: 여기

내 전체 코드인가? 이 경우 귀하의 코드는 다음과 같습니다 다른 fopen() 모드에 대한

$file_handle = fopen("sample.txt", "a"); // append to previous contents 
$file_contents = $_POST['f1'] . "\r\n"; 
fwrite($file_handle, $file_contents); 
fclose($file_handle); 
print "Content has been appended."; 

in the Strings chapter을 찾을 수 있습니다 이스케이프 시퀀스 (같은 \r\n)에 대한 in the documentation 장 "모드"등을 확인할 수 있습니다.

관련 문제