使用PHP从文本文件中插入和删除电子邮件

使用PHP从文本文件中插入和删除电子邮件,php,file,Php,File,我正在创建一个正在建设中的页面,用户可以在该页面上留下电子邮件,以便在网站启动时收到通知 我需要将这些电子邮件添加到名为list.txt的文本文件中 我的问题分为两部分 我怎样才能补充呢user@example.com到文本文件 以及我以后如何从文本文件中删除某些电子邮件 感谢您的帮助至于保存,您可以在附加模式下fopen(),只需fwrite()。至于删除某封电子邮件:您必须将整个文件作为字符串加载并保存到文件中(有效地替换整个内容)。如果没有一些复杂的锁定机制,保存文件时可能会出现竞争情况,

我正在创建一个正在建设中的页面,用户可以在该页面上留下电子邮件,以便在网站启动时收到通知

我需要将这些电子邮件添加到名为list.txt的文本文件中

我的问题分为两部分

我怎样才能补充呢user@example.com到文本文件

以及我以后如何从文本文件中删除某些电子邮件


感谢您的帮助

至于保存,您可以在附加模式下
fopen()
,只需
fwrite()
。至于删除某封电子邮件:您必须将整个文件作为字符串加载并保存到文件中(有效地替换整个内容)。如果没有一些复杂的锁定机制,保存文件时可能会出现竞争情况,导致您丢失/a最新注册


我建议您使用一个简单的sqlite数据库(或者其他数据库,如果您已经有一个在生产中的数据库),这样您就可以轻松地保存和删除某些电子邮件,并自动锁定/避免竞争条件。如果您出于其他目的仍需要文本文件,请在使用之前将订阅列表导出到该文件。

至于保存,您可以在附加模式下
fopen()
,只需
fwrite()
。至于删除某封电子邮件:您必须将整个文件作为字符串加载并保存到文件中(有效地替换整个内容)。如果没有一些复杂的锁定机制,保存文件时可能会出现竞争情况,导致您丢失/a最新注册


我建议您使用一个简单的sqlite数据库(或者其他数据库,如果您已经有一个在生产中的数据库),这样您就可以轻松地保存和删除某些电子邮件,并自动锁定/避免竞争条件。如果出于其他目的仍需要文本文件,请在使用之前将订阅列表导出到该文件。

最好使用数据库,因为这些操作可能相互影响。。但是:

加:

删除:

$file = file_get_contents("list.txt");
unlink("list.txt");  //delete existing file
$fp = fopen("list.txt","w");   //w is for write/new
$lines = split("\n",$file);
while (list(,$email) = each($lines)) {
    if ($email != "user@example.com") fputs($fp,$email . "\n");
}

再次。。。强烈建议使用数据库。。。这不是最佳选择。

您最好使用数据库,因为这些操作可能相互影响。。但是:

加:

删除:

$file = file_get_contents("list.txt");
unlink("list.txt");  //delete existing file
$fp = fopen("list.txt","w");   //w is for write/new
$lines = split("\n",$file);
while (list(,$email) = each($lines)) {
    if ($email != "user@example.com") fputs($fp,$email . "\n");
}

再次。。。强烈建议使用数据库。。。这不是最佳选择。

文件获取内容()的快捷方式是
文件()
/
拆分()
组合,甚至可能是
文件()
,甚至可能是
$array\u of\u line=file('/path/to/file',file\u忽略新的\u行;file\u跳过\u空的\u行)文件获取内容组合的快捷方式是
file()
/
split()
,甚至可能是
$array\u of\u line=file('/path/to/file',file\u IGNORE\u NEW\u line | file\u SKIP\u EMPTY\u line)