2016-08-18 9 views
-2

こんにちは私は、HTML投稿と基本的なPHPに基づいたスクリプトを作ろうとしています。php fwrite appendが動作しない

私はHTMLに1つの入力を持っている、と私はこのPHPコードがあります:私の友人の

<?php echo'h'?> 

一つは、私はワットを変更した場合、私はそれ、それを変更して、新しい行を作成すると述べましたまだ動作していません。

基本的に何をしようとしているのは、テキストボックスに任意の単語を入力すると、テキスト文書にその単語が書き込まれますが、2回目には新しい行が作成されません。改行。私は以前に保存されたファイルに掲載されている行を追加するとし

<?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

<?PHP $ file_handle = fopen( "sample.txt"、 "r"); $ file_contents = $ _POST ['f1']; fwrite($ file_handle、$ file_contents); fclose($ file_handle); "ファイルを作成して書き込みました"; ?> –

答えて

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、章「モード」と多くを見つけることができます。

関連する問題