php-如何从.html文件中删除条目?
我有一个文件,php-如何从.html文件中删除条目?,php,file,logout,Php,File,Logout,我有一个文件,online.html。该文件应该存储当前所有在线用户的姓名。该文档可能如下所示: <p>python-b5</p> <p>Other user</p> $fp = fopen("online.html", 'a'); fwrite($fp, "<p>" . $_SESSION ['name'] . "</p>"); fclose($fp); python-b5 其他用户 它们添加了如下代码: <p
online.html
。该文件应该存储当前所有在线用户的姓名。该文档可能如下所示:
<p>python-b5</p>
<p>Other user</p>
$fp = fopen("online.html", 'a');
fwrite($fp, "<p>" . $_SESSION ['name'] . "</p>");
fclose($fp);
python-b5
其他用户
它们添加了如下代码:
<p>python-b5</p>
<p>Other user</p>
$fp = fopen("online.html", 'a');
fwrite($fp, "<p>" . $_SESSION ['name'] . "</p>");
fclose($fp);
$fp=fopen(“online.html”,“a”);
fwrite($fp,“”)$\u会话['name']。“”;
fclose($fp);
当用户注销时,我想删除他们用户的
online.html
中的条目。然而,我不知道如何完成它。如何删除条目?为什么要将用户的联机状态写入静态文件
通常情况下,在用户表中提供某种类型的last_活动时间戳,该时间戳可以在每次请求时更新
然后,您可以说,在过去5-10分钟内具有最后一个_活动时间戳的每个用户都被视为在线用户,否则他就处于离线状态
如果您真的想保持静态文件结构,可以使用php扩展来解析页面中静态文件的DOM,并找到要删除的条目。使用HTML文件作为数据库的想法将遇到严重问题。 有两个大问题
<!-- BEGIN -->
<p data-id="1">Promethus</p>
<p data-id="2">Orpheus</p>
<p data-id="99">Tantalus</p>
<p data-id="11895">Marcus</p>
<!-- END -->
可能重复使用数据库。您只需打开文件流,用
file\u get\u content
解析它,然后在其内容上使用例如stripos
找到您正在寻找的用户,并使用“可能重复”问题中的解决方案删除该行。这是一个非常糟糕的主意。您需要锁定文件,然后解析它,将除要删除的行之外的所有内容写回文件。然后打开它。如果您不锁定和解锁,如果两个用户同时登录或退出,您将遇到问题。请确保在写入文件时也将其锁定。PHP可以访问多个数据库,这正是需要正确处理的情况。这是一个非常糟糕的主意。实际上,您正在尝试将数据库重新创建为静态html文件。我强烈建议您查看php提供的一个数据库选项,并使用它。也许最好学习一些简单的东西:PDO(以后也可以用于任何数据库),以及它下面的SQLite(我认为这是最简单的形式。这将允许您添加和删除记录,而无需围绕并发等进行编码。.html文件用作网站中在线用户列表的.html。这就是为什么每个条目中都有颜色定义。