.txt文件中的Javascript

时间:2017-05-15 17:14:42

标签: javascript php date client

我有一个Javascript函数来获取客户端日期,如下所示:

var d = new Date();

var month = d.getMonth() + 1;

var thedate =
d.getDate() + "/" +
month + "/" + 
d.getFullYear() +
"  at  "
+ d.getHours() + ":" + 
(d.getMinutes()<10?'0':'') + d.getMinutes();


document.write(thedate);

我在PHP中需要这个,所以我尝试使用它:

$datevar = '
<script>
var d = new Date();
var month = d.getMonth() + 1;
var thedate = d.getDate() + "/" + month + "/" + d.getFullYear() + "  at  " + d.getHours() + ":" + d.getMinutes();
document.write(thedate);
</script>
';

上面的代码只有在我echo之后才能正常工作,。我不想echo代码。我想将其插入日志文件中。这是我的日志文件代码:

$log_file_name = '1.log'; 
file_put_contents("$log_file_name, $datevar"  , FILE_APPEND);

这将从字面上返回日志中的代码,而不是日期和时间。我想提出约会。

我能说清楚我想要客户的日期,而不是服务器的

请有人帮我这个。我将接受任何替代方式来获取客户的当前日期和时间。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要从浏览器获取客户端的时间,然后通过将值添加到隐藏输入,将表单发送到服务器。

HTML:

<input type="hidden" id="timestamp" name="timestamp" value="" />

你的JS看起来像这样:

<script>
var d = new Date();
document.getElementById("timestamp").value = d.getTime() / 1000;
</script>

您的time.php文件将如下所示:

<?php

if (!empty($_POST['timestamp'])) {
    $datevar = date('d/m/Y', $_POST['timestamp']) . ' at ' . date('h:i', $_POST['timestamp']) . PHP_EOL;
    $log_file_name = '1.log';
    file_put_contents($log_file_name, $datevar, FILE_APPEND);
}