Php 一段时间后取消会话[如何在一段时间后删除数据]

Php 一段时间后取消会话[如何在一段时间后删除数据],php,session-timeout,unset,Php,Session Timeout,Unset,我有一个简单的php聊天脚本,它没有数据库,工作正常。但是它会将所有聊天记录创建并存储在一个文件msg.html中。我想在一段时间后删除这些聊天记录。如何在30分钟后删除这些聊天 下面是Php代码 <?php if (isset($_GET['msg'])){ if (file_exists('msg.html')) { $f = fopen('msg.html',"a+"); } else { $f =

我有一个简单的php聊天脚本,它没有数据库,工作正常。但是它会将所有聊天记录创建并存储在一个文件msg.html中。我想在一段时间后删除这些聊天记录。如何在30分钟后删除这些聊天

下面是Php代码

<?php 
    if (isset($_GET['msg'])){
        if (file_exists('msg.html')) {
           $f = fopen('msg.html',"a+");
        } else {
           $f = fopen('msg.html',"w+");
        }
      $nick = isset($_GET['nick']) ? $_GET['nick'] : "Hidden";
      $msg  = isset($_GET['msg']) ? htmlspecialchars($_GET['msg']) : ".";
      $line = "<p><span class=\"name\">$nick: </span><span class=\"txt\">$msg</span></p>";
        fwrite($f,$line."\r\n");
        fclose($f);

        echo $line;

    } else if (isset($_GET['all'])) {
       $flag = file('msg.html');
       $content = "";
       foreach ($flag as $value) {
        $content .= $value;
       }
       echo $content;

    }
?>


请帮帮我…

最好的解决办法是使用一个。您可以每X分钟执行一次清理PHP脚本,如下所示:

0,30****/path/to/php/path/to/cleanup\u script.php

如果你想清空文件,那很简单-你可以使用
file\u put\u contents($file,”)

如果您想删除特定的消息,您需要在每行的开头添加一个时间戳(您可以在输出聊天时删除它),并在清理脚本中解析它

注意


您可以通过在命令行上运行
哪个php
来获得php的路径。

您可能需要使用Cron-JobsI为您提供了Cron的代码(顺便说一下,30分钟。.我还链接了文档),以编辑您终端中的Cron作业类型列表
crontab-e
。这是假设您运行的是基于*nix的操作系统-如果您使用的是Windows(上帝禁止),您可以使用
预定事件
。亲爱的先生,我不是php程序员,请在超级代码中解释我添加代码时使用了什么名称*.php文件,我在该文件中输入了什么内容,以及在*.html文件中聊天的输出,该脚本仅包含三个文件(index.php、msg.html和message.php)全部在一个根目录中,例如:example.com/chat/如果您将
0,30****/path/to/php/path/to/cleanup\u script.php
行放入
crontab-e
(请务必更新您的路径,因为每个服务器都不同,我无法提供它们)。然后,在
cleanup\u script.php
中,需要使用我上面提到的两个选项之一,放置用于清空.html文件的php。