首页 > 解决方案 > 如何读取浏览器发送的 http_request 日期?

问题描述

我需要知道来自浏览器的 http 请求究竟是什么时候发送到服务器上的 PHP 程序的。我正在尝试这样做,因为我的程序需要在服务器和客户端之间进行基于时间的同步。

我在研究中看到的是getallheaders()返回所有 http-request 标头的函数,但里面从来没有日期/时间。我的代码看起来

<?php

foreach (getallheaders() as $name => $value) {
    echo "$name: $value\n";
}

结果如下:

Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

如您所见,date标题中没有。如何date使用 PHP 检索 http 请求?

标签: phphttphttprequest

解决方案


试试看 :)

<?php

$timestamp = $_SERVER['REQUEST_TIME']; 
$TimeRequest = gmdate("Y-m-d\TH:i:s", $timestamp); // convert Unix time :)

echo "Request sent at time : ".$TimeRequest;
?>

推荐阅读