写入文本文件的PHP代码

8

我正在使用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";

我该如何做到这一点?

你想每天都要一个新文件吗? - Rikesh
1
为什么你不使用数据库来处理这个? - user557846
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放在""引号中。

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中实现它的简单示例。

2
fopen文档中可以得知:
写入:
w 只写模式;文件指针会被设置到文件起始处并将文件大小截为0。 若文件不存在,则尝试创建。
追加:
a 只写模式,文件指针会被设置到文件末尾。 若文件不存在,则尝试创建。
所以你需要使用追加模式,而不是写入模式。
如果文件不存在,它会尝试创建文件。因此只需给文件一个随日期变化的唯一名称。请参阅date文档以获取示例。
$filename = date("m.d.y"); // 03.10.01

0

我写的php不多,但如果你在fopen()中将“w”替换为“w+”,它会打开文件并将指针放在文件末尾,如果文件已经存在,那么任何fwrite()调用都会附加到该文件。

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

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

编辑:看到sachleen的回答,你可以将日期(精确到天)与文件名结合起来。这样,在新的一天,将为该日创建一个新文件,如果该日的文件已存在,则将其附加到该文件中。


-2

1
为什么你要写这么大的类来打印简单的文本文件呢? - Hitesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接