每天将文件副本保存在服务器上

时间:2018-12-10 20:38:29

标签: php

我有一个简单的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;

?>

1 个答案:

答案 0 :(得分:1)

我对您在服务器上拥有的特权或所处的环境一无所知,但是您想要做的是通过cron job运行此脚本。

您将能够准确设置要运行脚本的时间和频率,然后按计划执行。但是您需要访问服务器本身,因为这不是php的功能,而是服务器的功能。除非您执行了一些无聊的操作(例如不断检查时间的无限循环),否则无法在PHP中进行此操作,但是无论如何都会超时,我仅以示例为例。

我建议您阅读有关cron的工作,然后,如果您对如何实现这些问题有特定的疑问,请告诉我,我们将很乐意为您提供帮助。