8

私はphpを使用しています。

別のページからパラメーターを取得してファイル テキストに書き込む php ページを作成したいと考えています。と:

  • ファイルテキストが既にある場合は、新しい行に書き込みます

  • 毎日 1 つのファイル テキストを作成する

例:

register.php

<body>
    <form action='process.php' method='GET'>
        Name: <input type='text' name='name'/>
        <br/>
        Age: <input type='text' name='age'/>
        <br/>
        <input type='submit' value='SUBMIT'/>
    </form>
</body>

プロセス.php

$name = $_GET['name'];
$age = $_GET['age'];

$file_handle = fopen("testFile.txt", "w");
$file_contents = "name:" . $name . "age:" . $age;

fwrite($file_handle, $file_contents);
fclose($file_handle);
print "file created and written to";

これどうやってするの?

4

6 に答える 6

6

毎日新しいファイルを作成したい場合は、現在の日付でtxtファイルを作成できますdate('d-m-Y').".txt"。そのため、日付でファイルを簡単に識別できます。

以下のコードを試してみてください。コードに変更を加えてテストしました。

<?php

$dateFile = date('d-m-Y').".txt";

$dataString = "name:" . $name . "age:" . $age."\n";
$fWrite = fopen($dateFile,"a");
$wrote = fwrite($fWrite, $dataString);
fclose($fWrite);
print "file created and written to";

?>

ファイルがすでに作成されているため、新しいレコードを新しい行に保存できる場合は"\n"、\nを""で四分円にする必要があります。

于 2013-01-29T04:22:13.923 に答える
6

file_get_contents() および file_put_contents() 関数を使用します。

例:

    $file = 'output.txt';
    $buffer = 'my new line here';

    if (file_exists($file)) {
            $buffer = file_get_contents($file) . "\n" . $buffer;
    }

    $success = file_put_contents($file, $buffer);

http://php.net/manual/en/function.file-put-contents.php

http://php.net/manual/en/function.file-get-contents.php

于 2013-01-29T03:49:02.840 に答える
2

fopenドキュメントから:

書きます:

w 書き込み専用です。ファイルポインタをファイルの先頭に置き、ファイルの長さをゼロに切り詰めます。ファイルが存在しない場合は、作成してみてください。

追加:

a 書き込み専用です。ファイルポインタをファイルの最後に置きます。ファイルが存在しない場合は、作成してみてください。

したがって、書き込むのではなく、追加します。

ファイルが存在しない場合は、作成を試みます。そのため、その日によって変わる一意の名前をファイルに付けてください。例については、日付のドキュメントを参照してください。

$filename = date("m.d.y"); // 03.10.01
于 2013-01-29T03:38:55.267 に答える
2

file_write_php

   <?php
     $File = "YourFile.txt"; 
     $Handle = fopen($File, 'w');
     $Data = "Jane Doe\n".PHP_EOL;; 
     fwrite($Handle, $Data); 
     $Data = "Bilbo Jones\n"; 
     fwrite($Handle, $Data); 
     print "Data Written"; 
     fclose($Handle); 
   ?>

上記はphpでそれを行う簡単な例です

于 2014-03-04T07:20:42.377 に答える
0

私は多くのphpを書いていませんが、fopen()で「w」を「w+」に置き換えると、ファイルが開き、ファイルが既に存在する場合はファイルの最後にポインターが配置され、fwrite( ) 呼び出しがファイルに追加されます。

$file_handle = fopen("testFile.txt", "w+");

http://php.net/manual/en/function.fopen.php

編集: sachleenの答えを見ました。はい、日付(日まで)をファイル名と組み合わせることができます。そのため、新しい日にその日の新しいファイルが作成され、その日のファイルが存在する場合は追加されます。

于 2013-01-29T03:39:38.343 に答える
-2

ありがとう。私はこれでこの問題を解決しましたhttp://www.redips.net/php/write-to-log-file/

于 2013-01-29T04:39:09.340 に答える