如何限制使用会话下载的文件数

时间:2012-08-22 02:31:07

标签: php mysql session

我一直在使用数据库实现来限制我的服务器上一次只下载一次。这是一种容易出错并且已知问题,因此我考虑尝试使用会话变量。唯一的问题是我在开始发送文件之前使用以下命令,以便用户可以在下载时浏览网站:

session_write_close();

我想检查会话中是否存在变量,然后如果不存在,则关闭会话,然后重新打开同一会话并删除我添加的旧变量。这可能吗?或者有更简单的方法来解决这个问题吗?或者我应该坚持使用db实现。

由于

2 个答案:

答案 0 :(得分:1)

<?php

session_start();

if (isset($_SESSION['downloading']))
    die("You already have a download in progress.");

$_SESSION['downloading'] = 1;

session_write_close();

//send the file

?>

答案 1 :(得分:0)

最后我找不到稳定的Session解决方案,因为它导致了会话中的损坏,所以我最后只是坚持我的数据库实现。对不起,这个问题对以后的搜索无效:(