如何使用php中的读/写逐个添加电子邮件
我得到以下输出并创建一个名为“更新”的文件夹更新文件夹包含用户输入的一封电子邮件,并且用户输入另一个电子邮件ID已经存在的电子邮件ID替换为新的电子邮件ID为什么?
我需要一个一个名为
的电子邮件IDapap@gmail.com
asadsd@gmail.com
这是我的代码,请查看
<form action="demo.php" method="post">
<input type="text" name="textEmail">
<input type="submit" value="send">
</form>
Demo.php文件是
<?php
// Open the text file
$f = fopen("update.txt", "w");
// Write text
$text = strtr(" ",' ', $_POST['textEmail']);
fwrite($f,$text);
//fwrite($f,$text);
// Close the text file
fclose($f);
// Open file for reading, and read the line
$f = fopen("update.txt", "r");
// Read text
echo fgets($f);
fclose($f);
?>
答案 0 :(得分:4)
以追加模式而不是写入模式打开文件 将“w”替换为“a”
$f = fopen("update.txt", "a");
来自:http://php.net/manual/en/function.fopen.php
'w'仅限写作;将文件指针放在文件的开头,并将文件截断为零长度。如果该文件不存在,请尝试创建它。
'a'仅限写作;将文件指针放在文件的末尾。如果该文件不存在,请尝试创建它...
答案 1 :(得分:2)
打开您的文件作为附加模式,这样您就不需要打开文件两次,以便在文件中写入,每行一封电子邮件,您需要在每封电子邮件后使用\n
。对于读取使用while循环来读取文件的结尾并使用fgets确保它一次读取整行。
$myfile = fopen("update.txt", "a+");
$txt = $_POST['textEmail']."\n";
fwrite($myfile, $txt);
while(!feof($myfile)) {
echo fgets($myfile) . "<br/>";
}
fclose($myfile);
答案 2 :(得分:0)
我不确定你想要实现什么,但我会澄清文件写入和文件追加之间的区别。
在&#39; w&#39;中打开时写入文件模式从当前文件指针位置写入,当在&#39; w&#39;中打开时mode是文件的开头,要在此模式下更改此位置,请使用fseek()
方法。
在&#39; a&#39;中打开时写入文件mode(append mode)将文件指针设置为文件中的最后一个位置,而在php中,特别是当调用fwrite()
时,它将写入文件的末尾。
附加文件示例
写入前update.txt的内容:
sometext
sometext2
写入文件的代码
$f = fopen('update.txt', 'w');
//Description of 'a' mode from php manual
//Open for writing only; place the file pointer at the end of the file.
//If the file does not exist, attempt to create it. In this mode,
//fseek() has no effect, writes are always appended.
fwrite($f, "somevalue" . "\n");
fclose($f);
结果在包含内容的update.txt中
sometext
sometext2
somevalue
本例中使用的函数的Php文档:
答案 3 :(得分:0)
ranges = structure(list(Range = 1:3, Start = structure(c(16071, 16445,
16911), class = "Date"), End = structure(c(16129, 16524, 17086
), class = "Date")), .Names = c("Range", "Start", "End"), row.names = c(NA,
-3L), class = "data.frame")
events = structure(list(Event = 1:4, Date = structure(c(16072, 16149,
16526, 17031), class = "Date")), .Names = c("Event", "Date"), row.names = c(NA,
-4L), class = "data.frame")
请你试试demo.php吗?