首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用PHP在文本文件中插入和删除电子邮件

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

Stack Overflow用户
提问于 2010-07-22 01:02:33
回答 2查看 561关注 0票数 0

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

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

我的问题有两个部分

如何将user@example.com添加到文本文件?

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

感谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-22 01:16:30

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

添加:

代码语言:javascript
代码运行次数:0
运行
复制
$fp = fopen("list.txt","a");   //a is for append
fputs($fp,"user@example.com" . "\n");
fclose($fp);

删除:

代码语言:javascript
代码运行次数:0
运行
复制
$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");
}

再一次..。强烈建议使用数据库...这并不是最优的。

票数 2
EN

Stack Overflow用户

发布于 2010-07-22 01:10:16

至于保存,你可以在追加模式下使用fopen(),然后只对其进行fwrite()。至于删除某个电子邮件:您必须将整个文件作为字符串加载,并将其保存到文件中(有效地替换整个内容)。如果没有一些精心设计的锁定机制,在保存文件时可能会出现竞争条件,导致您丢失/a最新注册。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3301853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档