会话销毁时是否可以从文件夹中删除文件。当用户进入该站点并且他可以上传文件(图像或文本文件)等时,我正在这样做,而无需登录该站点。并且文件将存储到我的项目文件夹中。现在我需要做的是,如果用户在没有登录的情况下退出浏览器,我需要删除他上传到项目文件夹的所有文件。这个怎么做 ?
提前致谢。
您可以通过实现自己的会话处理程序来做到这一点。这样,您可以为各种事件定义回调,包括会话的销毁。有关更多信息,请参阅此链接:
http://www.php.net/manual/en/function.session-set-save-handler.php
更新:该解决方案的问题在于您还需要实现其余的会话处理代码(初始化会话、关闭会话、从存储读取、写入、垃圾收集)。但是,上面的链接页面提供了一个完整的示例,您可以将功能添加到其中。
use session set save handler to create an event handler for session events.
这一切都取决于业务决策。
您可以这样做,不要将文件保存在项目文件夹中,而是将其保存在“tmp”文件夹等其他位置,并在会话中保存该文件的引用(文件路径)。
通过 unlink("path") 函数,您可以在 PHP 中执行此操作 .. 但这也取决于您使用的逻辑。
如果您只想删除上传的文件,那么取消链接是您的解决方案
Sriram,在 PHP 中,似乎服务器不跟踪会话。只有当服务器在请求中收到有关会话 cookie 的信息时才知道会话已过期。如果 cookie 存在会话存在,否则,它已过期..