我正在使用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";
我该怎么做?
答案 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);
答案 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)
<?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)