我有一个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;
}
?>
请帮助我......
答案 0 :(得分:2)
最佳解决方案是使用cron
。您可以每隔X分钟执行一次清理PHP脚本,如下所示:
0,30 * * * * /path/to/php /path/to/cleanup_script.php
如果您想清空文件,那很简单 - 您只需使用file_put_contents($file, '');
如果要删除特定消息,则需要在每行的开头添加时间戳(可以在输出聊天时将其删除)并在清理脚本中解析它。
注意强>
您可以通过在命令行上运行which php
来获取php的路径。