gpt4 book ai didi

PHP:如何计算上次插入时间和现在之间的剩余时间()

转载 作者:行者123 更新时间:2023-11-29 05:25:56 25 4
gpt4 key购买 nike

我正在使用以下内容来限制 IP 每 5 分钟发送 1 条消息。所以我想回显剩余时间,我该如何计算?

这是我的PHP

$query = "SELECT * FROM messages WHERE ip = '$ip' AND mtime >= NOW() - INTERVAL 5 MINUTE";
$result = mysql_query($query);

if (mysql_num_rows($result) > 0) {
echo "<script>
alert ('You can only send 5 message every 10min. please wait.')
</script>";
} else {

}

最佳答案

如果您的 mtime 列包含 microtime值,你可以这样做:

$query = "SELECT * FROM messages WHERE ip = '$ip' AND mtime >= NOW() - INTERVAL 5 MINUTE ORDER by mtime DESC";
$result = mysql_query($query);

if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_assoc($result);
$diff = microtime(true) - $row['mtime']; //here the time difference between last sended message and this try
$remaining = (5*60 - (int) $diff);
...
}
else {
...
}

我还更改了查询顺序,以便区分现在和上一条消息。如果以后需要每次检查 5 条消息,则需要删除该顺序。

如果 microtime 不工作,您可以使用时间功能:

$diff = time() - $row['mtime'];

关于PHP:如何计算上次插入时间和现在之间的剩余时间(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com