我有一个文件(usernames.txt),其中包含我的网站成员的每个用户名,当他们提交用户名时,它会保存在“usernames.txt”中,问题是有很多用户在那里提交用户名每天,我想要一个PHP代码或者会自动删除第一个(在顶部)用户名每30秒(即使每分钟提交超过20个用户名,我需要的脚本将成为“usernames.txt”文件较小,这将使我的服务器更快。:) 如果有人拥有或知道我正在谈论的剧本,那将是非常好的。 :) 感谢
答案 0 :(得分:0)
我也 真的,真的 鼓励你看看@ http://php.net/manual/en/refs.database.php @elclanrs的建议。 真的 鼓励你。
如果没有这个,并且提出了非常高的第二位建议,我甚至建议您尝试使用serialize
和unserialize
,这样您就可以更快地读取文件内外的数据。然后,您可以使用unserialize
以数组/对象的形式读取数据,对其进行操作,然后使用serialize
将其放回文件中。
进一步失败的是,您必须将文件读入内存(file_get_contents
),遍历这些行,然后删除第一行,然后将整个文件写回。或者,一次读取一行(fopen
),跳过第一行,将文件的其余部分写回临时文件(fputs
),然后交换文件({ {1}})。
最后,假设您使用的是* nix系统,您可以使用以下内容:
rename
总而言之,你应该真正关注使用数据库。如果您不想要独立数据库,可以使用sqlite,它将write the database to a local file:
$ dbhandle = sqlite_open('db / test.db',0666,$ error);