我有一个简单的html页面,该页面通过ajax php将条目添加到服务器上的json文件中。我想添加一些php行,以确保每天晚上11:59:59它将原始文件的备份保存在服务器上(最好在名为backup的文件夹内)。
到目前为止,这是我在php中拥有的东西。它基本上只是打开一个json文件,添加一个条目并保存。我想确保每天11:59:59都有一个备份文件,该文件保存到服务器上的备份文件夹中。
<?php
$theuser = $_POST['theuser'];
$thecontest = $_POST['thecontest'];
$timestamp = $_POST['timestamp'];
$json = file_get_contents('alldata.json');
$data = json_decode($json, true);
$flag = false;
foreach($data as $d){
if($d['username'] == $theuser && $d['contest'] == $thecontest){
$flag = true;
break;
}
}
if (!$flag){
$data[] = array('username'=> $theuser, 'contest' => $thecontest, 'timestamp' => $timestamp);
file_put_contents('alldata.json', json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
$msg = "yes";
}else{
$msg = "no";
}
echo $msg;die;
?>
答案 0 :(得分:1)
我对您在服务器上拥有的特权或所处的环境一无所知,但是您想要做的是通过cron job运行此脚本。
您将能够准确设置要运行脚本的时间和频率,然后按计划执行。但是您需要访问服务器本身,因为这不是php的功能,而是服务器的功能。除非您执行了一些无聊的操作(例如不断检查时间的无限循环),否则无法在PHP中进行此操作,但是无论如何都会超时,我仅以示例为例。
我建议您阅读有关cron的工作,然后,如果您对如何实现这些问题有特定的疑问,请告诉我,我们将很乐意为您提供帮助。