可能重复:
在 PHP 中检测浏览器退出
我的服务器中有一些与用户相关的文件,我希望在用户关闭浏览器或离开我的页面时删除它们。是否可以?有什么办法吗?
可能重复:
在 PHP 中检测浏览器退出
我的服务器中有一些与用户相关的文件,我希望在用户关闭浏览器或离开我的页面时删除它们。是否可以?有什么办法吗?
不仅仅是 PHP。
PHP 在服务器端运行,并且在用户有机会关闭浏览器时已经完成了对页面的处理。您可以从技术上检测 PHP 是否仍在处理页面并且用户使用特定配置关闭它。然而,这并不理想。见connection_aborted()
。
您需要做的是使用 JavaScript 建立一个长轮询连接,并在服务器端对其进行监控。然后,您将了解该窗口何时关闭。该连接可以与您的 PHP 脚本建立,允许 PHP 检查connection_aborted()
. 请注意,您需要为此进行设置ignore_user_abort()
,或相应地配置 PHP.ini。
您可以使用 javascript 每隔几秒对 .php 文件进行一次 ajax 调用。
PHP 是 *服务器* 端,因此在大多数情况下,仅使用 PHP 是不可能的。一个可能的解决方案是让 cronjob 每晚运行并删除旧文件。