在开关盒中将值永久地添加到开关盒外部的变量

时间:2017-07-12 15:21:29

标签: php json

我正在尝试每小时从JSON文件保存数据,该文件始终自行更新(API)。虽然我无法让它发挥作用。

我的代码:

    //Mid way update
$time = date("H:i");

$midWay = " </br>";


switch ($time) {
  case '16:45':
    $midWay = $data['E-Today'] ['value'];
    break;

  default:
    # code...
    break;
}

echo $midWay;

我想要实现的是每次某个时间到来(例如下午12点)。 $ data ['E-Today'] ['value']的值被添加到变量midWay中。 $ data ['E-Today'] ['value']的值始终在更新,我希望能够跟踪每小时的值。我现在遇到的问题是,每当它处于不同的时间时,它不再是变量或其他东西

1 个答案:

答案 0 :(得分:0)

这是一种非常简单的方法。读取数据并将其保存到文本文件中。

//Mid way update

switch (date("H:i")) { // removed $time, is it needed elsewhere you can just add it again
  case '16:45':
    if(file_exists("jsondata.txt")){
         $midWay = file_get_contents("jsondata.txt"); // Read the old data from text file to $midWay
    }else{ $midWay = "";}  // if jsondata.txt does not exists (first time you run the code)

    $midWay .= " </br>" . $data['E-Today'] ['value']; // Add new data to string. ".=" means append
    // I believe this is a better solution but you need to test and see
    //$midWay .= PHP.EOL . $data['E-Today'] ['value'];  // PHP.EOL means new line <br> is a html tag that wont work in a text file.

    file_put_contets("jsondata.txt", $midWay); // Update the text file with new data.
    break;

  default:
    # code...
    break;
}

echo $midWay;

此代码不会自行运行 您将需要一个cron作业来运行该文件或保持运行该文件的计算机每x分钟运行一次。