PHP在页面加载和页面离开时获取UNIX时间戳

PHP在页面加载和页面离开时获取UNIX时间戳,php,Php,我有两个html页面,当用户使用PHP以UNIX格式输入和离开每个页面时,我想保存在一个文本文件中 if(isset($_POST['submit'])){ $t=time(); $myfile1 = fopen("temp/time.txt", "w"); fwrite($myfile1, $t); header("Location: main2.html"); } 代码可以在用户输入时获取时间戳,但在用户离开时是否有方法获取时间戳 提前谢谢你 不能使用PHP,因为PHP是服务器端的

我有两个html页面,当用户使用PHP以UNIX格式输入和离开每个页面时,我想保存在一个文本文件中

if(isset($_POST['submit'])){

$t=time();
$myfile1 = fopen("temp/time.txt", "w");
fwrite($myfile1, $t);

header("Location: main2.html");
  }
代码可以在用户输入时获取时间戳,但在用户离开时是否有方法获取时间戳


提前谢谢你

不能使用PHP,因为PHP是服务器端的,卸载事件是客户端的

为此,可以使用Javascript使用Ajax调用另一个PHP页面,并在另一个页面的代码中记录时间戳

使用jQuery时会出现如下情况:

$(window).unload(function(){
    $.ajax({
        type: 'GET',
        url: '/your_url.php',
        async:false
    }).done(function(data) {                
        console.log('complete');
    });
});
但是,如注释中所述,PHP文件中的头函数将立即重定向用户。在这种情况下,javascript方式不是解决方案

如果我是对的,您使用header函数是因为您使用的是HTML页面而不是PHP。PHP就像HTML页面之前的中间件。
在这种情况下,您也可以将上面解释的Javascript用于加载事件。

不适用于PHP。PHP仅在服务器上。您可以使用JS.Define left。当他们把眼睛从屏幕上移开时?当他们转到另一个选项卡/窗口时?他们何时真正关闭页面的选项卡/窗口?您的服务器实际上不知道用户在将HTML发送到浏览器后做了什么。它可以无限期地保持开放,也可以不做任何事情。任何检测某人离开的尝试都是不完美的。另外,请注意,在您显示的代码中,用户会立即离开PHP页面,因为您已经告诉浏览器将他们重定向到main2.html。因此,您试图检测的离开事件必须在该页面上。总的来说,我认为这个问题在目前的状态下是无法回答的;我建议你多读一点关于网页生命周期的书,从服务器到浏览器。