使用php将单行文本追加到文本文件中,会在同一行生成文本的副本



我在文本文件的末尾附加了一行文本,但我总是得到同一行文本的两个副本,附加在同一行上,这是代码

<!DOCTYPE html>
<html>
<head>
<title>Store form data in .txt file</title>
</head>
<body>
<form method="post">
Enter Your Text Here:<br>
<input type="text" name="textdata"><br>
<input type="submit" name="submit">

</form>
</body>
</html>
<?php

if(isset($_POST['textdata']))
{
$data=$_POST['textdata'];
$fp = fopen('.email_addresses_test.txt', 'a');
fwrite($fp, $data);
fclose($fp);
}
?> 

和样本图像在此处输入图像描述

尝试:

$data=$_POST['textdata']. "n";
$fp = fopen('.email_addresses_test.txt', 'a');
fwrite($fp, $data);
fclose($fp);

"\n〃;在双引号中被解释为换行符。http://php.net/manual/en/language.types.string.php

您应该将file_put_contents与file_APPEND标志和LOCK_EX标记一起使用,以防止任何其他进程同时写入文件。这些标志与二进制OR运算符|连接。

$address = "email@domain";
file_put_contents(
".email_addresses_test.txt",
$address . "n",
FILE_APPEND | LOCK_EX
); 

最新更新