簡體   English   中英

寫文本文件php

[英]Write text file php

我正在使用PHP。

我想寫一個php頁面來從另一個頁面獲取參數並寫入文件文本。 和:

  • 如果已經有文件文本,則寫入新行

  • 每天創建一個文件文本

例:

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>

process.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";

我怎樣才能做到這一點?

使用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

如果要為每天創建新文件,可以使用當前日期date('dm-Y').".txt"創建txt文件date('dm-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必須處於“”quatoed。

來自fopen docs

寫:

w僅供寫作; 將文件指針放在文件的開頭,並將文件截斷為零長度。 如果該文件不存在,請嘗試創建它。

附加:

a僅供寫作; 將文件指針放在文件的末尾。 如果該文件不存在,請嘗試創建它。

所以你要追加,而不是寫。

如果該文件不存在,它將嘗試創建它。 因此,只需為該文件指定一個隨日更改的唯一名稱。 有關示例,請參閱日期文檔。

$filename = date("m.d.y"); // 03.10.01

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中執行此操作的簡單示例

我沒有編寫很多php,但是如果在fopen()中用“w +”替換“w”,它將打開文件,如果文件已經存在則將指針放在它的末尾,制作任何fwrite( )調用附加到文件。

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

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

編輯:看到sachleen的答案,是的,您可以將日期(下至日)與文件名組合。 因此,在新的一天,將為該日創建一個新文件,如果該文件存在於該日,則將附加到該文件。

謝謝。 我用這個http://www.redips.net/php/write-to-log-file/解決了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM