我有一个time()值保存在这样的变量中:
$latest_attempt = 1337980678;
我试图计算一些延迟。
$remaining_delay = time() - $latest_attempt - $delay;
然而,当我更新浏览器时$remaining_delay
的结果正在增加,而不是那种方式。
“您必须在下次登录尝试前等待95秒”
如果我稍后更新“您必须在下次登录尝试前等待102秒”
它正在做与之相反的事情,而不是减少而不是增加。我做错了什么?我相信我需要用latest_attempt变量做一些事情,但我找不到任何PHP手册。
答案 0 :(得分:4)
我会说,像这样:
$remaining_delay = $latest_attempt + $delay - time();
答案 1 :(得分:0)
$time_since_last = time() - $last_attempt;
if ($time_since_last <= $delay) {
$remaining = $delay - $time_since_last;
} else {
... good to go ... delay's expired
}
答案 2 :(得分:0)
剩余延迟是阻塞到期时的时间差($last_attempt + $delay
,因为$ last_attempt on,用户被阻止了$ delay)和当前时间({{1} }) - 因此正确的公式是:
time()