Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中编写文本文件_Php - Fatal编程技术网

在php中编写文本文件

在php中编写文本文件,php,Php,我正在使用php 我想写一个php页面,从另一个页面获取参数,并写入一个文本文件。以及: 如果已经有文件文本,则写入新行 每天创建一个文本文件 例如: register.php <body> <form action='process.php' method='GET'> Name: <input type='text' name='name'/> <br/> Age: <input

我正在使用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>
我如何才能做到这一点?

来自:

写:

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

附加:

一个只开放写作的网站将文件指针放在文件末尾。如果文件不存在,请尝试创建它

所以你想追加,而不是写

如果文件不存在,它将尝试创建它。因此,只需为文件指定一个随时间变化的唯一名称。有关示例,请参见文档

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

我没有写很多php,但是如果在fopen()中用“w+”替换“w”,它将打开文件并将指针放在文件末尾(如果文件已经存在),从而使任何fwrite()调用附加到文件中

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

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

使用file\u get\u contents()和file\u put\u 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);


如果您想为每天创建新文件,可以使用当前日期创建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必须在“四分之一”中。

谢谢。我用这个解决了这个问题



上面是一个用php实现的简单示例

您想要每天都使用新文件吗?为什么不为此使用数据库?为什么要编写这个大类来打印文本文件中的简单内容?
<?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";

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