我正在创建一个正在建设的页面,用户可以留下他们的电子邮件,以便在网站启动时收到通知
我需要将这些电子邮件添加到一个名为list.txt的文本文件中
我的问题有两个部分
如何将user@example.com添加到文本文件?
以及以后如何从文本文件中删除某些电子邮件?
感谢你的帮助
发布于 2010-07-21 17:16:30
您最好使用数据库,因为这些操作可能会相互影响。但是:
添加:
$fp = fopen("list.txt","a"); //a is for append
fputs($fp,"user@example.com" . "\n");
fclose($fp);
删除:
$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");
}
再一次..。强烈建议使用数据库...这并不是最优的。
发布于 2010-07-21 17:10:16
至于保存,你可以在追加模式下使用fopen()
,然后只对其进行fwrite()
。至于删除某个电子邮件:您必须将整个文件作为字符串加载,并将其保存到文件中(有效地替换整个内容)。如果没有一些精心设计的锁定机制,在保存文件时可能会出现竞争条件,导致您丢失/a最新注册。
我推荐一个简单的sqlite数据库(如果你已经在生产中有另一个数据库),这样你就可以很容易地保存和删除某些电子邮件,并自动锁定/避免竞争条件。如果您仍需要将文本文件用于某些其他目的,请在使用之前将订阅列表导出到该文件。
https://stackoverflow.com/questions/3301853
复制相似问题