写文本文件php

时间:2013-01-29 03:36:02

标签: 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";

我该怎么做?

6 个答案:

答案 0 :(得分: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

答案 1 :(得分:5)

如果您想每天创建新文件,可以使用当前日期date('d-m-Y').".txt"创建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必须在&#34;&#34; quatoed。

答案 2 :(得分:2)

来自fopen docs

写:

  

w仅供写作; 将文件指针放在文件的开头,并将文件截断为零长度。如果文件不存在,请尝试创建它。

追加:

  

仅供写作开放; 将文件指针放在文件的末尾。如果文件不存在,请尝试创建它。

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

如果该文件不存在,它将尝试创建它。因此,只需为该文件指定一个随日更改的唯一名称。有关示例,请参阅date文档。

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

答案 3 :(得分:1)

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中执行此操作的简单示例

答案 4 :(得分:0)

我没有编写很多php,但是如果在fopen()中用“w +”替换“w”,它将打开文件,如果文件已经存在则将指针放在它的末尾,这样做任何fwrite()调用都追加到文件中。

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

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

编辑查看了sachleen的回答,是的,您可以将日期(一直到当天)与文件名结合起来。因此,在新的一天,将为该日创建一个新文件,如果该文件存在于该日,则将附加到该文件。

答案 5 :(得分:-2)

感谢。我用这个http://www.redips.net/php/write-to-log-file/

解决了这个问题