你好,我在制作像2个php请求之间的简单等待时间一样麻烦... 我有这个代码(例如):
readfile($link);
访问者请求这个PHP代码下载文件...但是在10秒内他又请求另一个...我想限制时间,就像他要求一旦他必须等待从第一次下载到允许第二次请求(下载)30秒......任何想法怎么可能这样做?在PHP ...提前谢谢你:)
编辑: 我试着在下面的帖子的帮助下但没有工作
if (!isset($_SESSION['last_download'])) $_SESSION['last_download'] = 0; {
if (time() - $_SESSION['last_download'] > 10){
$_SESSION['last_download'] = time();
echo $_SESSION['last_download'];
}else {echo"".time() - $_SESSION['last_download']."";}}
但它没有保存会话......任何帮助?
答案 0 :(得分:2)
但它没有保存会话
您是否忘记加入session_start()
?
尝试
<?php
session_start();
if (isset($_SESSION['last_download']))
{
if (time() - $_SESSION['last_download'] > 10)
{
// allow download
$_SESSION['last_download'] = time();
echo $_SESSION['last_download'];
}
else
{
echo time() - $_SESSION['last_download'];
}
}
else
{
// session not set yet, set it now
$_SESSION['last_download'] = time();
}
?>
答案 1 :(得分:1)
只需将上次下载时间保存到会话中
<?php
if (!isset($_SESSION['last_download'])) $_SESSION['last_download'] = 2; //time in past
if ($_SESSION['last_download'] && time() - $_SESSION['last_download'] > 10){
$_SESSION['last_download'] = time();
//allow download
}