如果文件具有一定长度,则PHP删除文件中的第二行

时间:2013-04-02 20:57:30

标签: php fwrite

当用户在我的网站上注册一个帐户时,会创建一个名为USERNAME.php的页面。
每当用户名“bob”登录后,就会在bob.php中添加一个新行,其中包含该登录的时间,日期和IP地址。

我想做的是该文件中最多有20行,因此文件不会随着时间的推移而变得太大。
我的第一行是“ bob的登录检索”,然后是最新的登录结果。因此不应删除第一行,但应在每次登录时删除第二行(仅当行数> 20时)。这样做最好的方法是什么?谢谢!

2 个答案:

答案 0 :(得分:0)

我假设未使用.php扩展名,并且该文件最多包含20行。

您可以使用file()函数在行中分解文件,{1}}在第一行保存,然后使用shift提取最后19,array_splice()返回新阵列的第一行最多可获得20个条目。 unshift他们并将其重写回原始文件。

更好的是,将它们写入新文件,然后如果一切顺利,将新文件重命名为新文件。

join

答案 1 :(得分:0)

如果只有20行。很容易将文件读取到数组并以这种方式操作它。可以轻松取消设置数组元素并将总计数保持为20.然后将新信息写回文件