PHP 每当我用 time() 调用 $var 时,值都会改变
PHP whenever i call a $var with time() the value changes
PHP 5.4
我想要一个 start_time
& end_time
end_time
应该有 start_time + 5
问题是每次我刷新页面时,时间都会改变
如何让 end_time
不改变?
示例代码:
// Set timeout period in seconds
$_SESSION['inactive_amount'] = 5;
$inactive = $_SESSION['inactive_amount'];
$_SESSION['start_time'] = time();
$start_time = $_SESSION['start_time'];
$_SESSION['end_time'] = $start_time + $inactive;
echo "<pre>", print_r($_SESSION, true), "</pre>";
输出 1:
Array
(
[inactive_amount] => 5
[start_time] => 1423701080
[end_time] => 1423701085
)
输出2[刷新]:
Array
(
[inactive_amount] => 5
[start_time] => 1423701098
[end_time] => 1423701103
)
[end_time]
发生变化,因此它永远不会达到用 [start_time] + 5 seconds
设置的初始时间
问题很简单(对于知道的人),我想在处理任何类型的时间时,如何将它存储在某个地方,以便值在设置后不会改变?我这样写是因为它不仅仅是一个会话,我有多个地方需要比较时间。
*注意: 我知道我可以将 start_time + 5
值存储在数据库中,然后再次检索它以填充 var,但是 我想在没有数据库的情况下执行此操作。
if(!isset($_SESSION['start_time'])) {
$_SESSION['start_time'] = time();
}
这将防止您的会话时间在您每次刷新页面时都被更新。一旦设置,它就不会在每次页面刷新时一次又一次地设置为会话变量。如果这有效,请告诉我。
PHP 5.4
我想要一个 start_time
& end_time
end_time
应该有 start_time + 5
问题是每次我刷新页面时,时间都会改变
如何让 end_time
不改变?
示例代码:
// Set timeout period in seconds
$_SESSION['inactive_amount'] = 5;
$inactive = $_SESSION['inactive_amount'];
$_SESSION['start_time'] = time();
$start_time = $_SESSION['start_time'];
$_SESSION['end_time'] = $start_time + $inactive;
echo "<pre>", print_r($_SESSION, true), "</pre>";
输出 1:
Array
(
[inactive_amount] => 5
[start_time] => 1423701080
[end_time] => 1423701085
)
输出2[刷新]:
Array
(
[inactive_amount] => 5
[start_time] => 1423701098
[end_time] => 1423701103
)
[end_time]
发生变化,因此它永远不会达到用 [start_time] + 5 seconds
问题很简单(对于知道的人),我想在处理任何类型的时间时,如何将它存储在某个地方,以便值在设置后不会改变?我这样写是因为它不仅仅是一个会话,我有多个地方需要比较时间。
*注意: 我知道我可以将 start_time + 5
值存储在数据库中,然后再次检索它以填充 var,但是 我想在没有数据库的情况下执行此操作。
if(!isset($_SESSION['start_time'])) {
$_SESSION['start_time'] = time();
}
这将防止您的会话时间在您每次刷新页面时都被更新。一旦设置,它就不会在每次页面刷新时一次又一次地设置为会话变量。如果这有效,请告诉我。