当用户在php中离开我的网站时,如何删除图像?

时间:2012-12-01 10:37:21

标签: php

我希望在用户离开我的网站时删除图片,或者他关闭浏览器或者他在地址栏中输入任何其他网址。

4 个答案:

答案 0 :(得分:2)

用户选择离开网站时无法捕获。你最好在他们上次从一个会话中访问你的网站的某个地方有一个日志,并且在一段时间后有一个类似的cron工作来清理他们的图像。

答案 1 :(得分:0)

这很难实现。没有正确的方法来检测用户何时离开您的网站。最准确的方法是向您的页面添加一个脚本,该脚本会以较小的间隔定期请求某些URL。当用户离开时,此URL将停止被请求,并且您意识到用户已经离开,您可以删除一些内容。

答案 2 :(得分:0)

嗯,我不是一个好的JavaScript专业版,但我认为可能有一个功能来检查用户是否离开页面。 (想想这个不时出现的弹出窗口,在那里你会被问到是否真的要离开这个页面。) 您现在检查是否发生了此事件(页面离开),当发生此事件时,您发送一个AJAX请求。您的PHP响应删除了您的图像。

就像我说的,不确定Javascript中的这个功能是否有效。

答案 3 :(得分:0)

您可以在onbeforeunload事件上使用Javascript,然后在async设置为off的情况下执行AJAX请求,以便在用户离开之前“阻止”浏览器

您可以使用jQuery执行异步AJAX调用,如下所示:

window.onbeforeunload = function(){
   $.ajax({
      url:"your_delete_script.php", 
      async:false
   });
}

或者你可以在运行中创建一个像执行脚本信标的图像。

window.onbeforeunload = function(){
  var img = new Image();
  img.src = "script.php";
}

只需确保该部分中的脚本获得ignore_user_abort,以便在用户关闭浏览器时它将独立执行