2017-07-12 10 views
-3

1時間ごとに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

'$ time = date(" H:i ");はあなたの$ timeと同じです.... – Andreas

+0

あなたが私の意見で求めていることは明確ではありません。 – Andreas

+0

ありがとうございました:) 私が達成したいのは、ある時間が来るたびに(たとえば12pm)です。 $ data ['E-Today'] ['value']の値が変数midWayに追加されます。 私が今問題を抱えているのは、異なる時期になるたびに、それが変数や何かにないからです。 –

答えて

0

これは非常に簡単な方法の1つです。データを読み込んでテキストファイルに保存します。

//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分ごとにファイルを実行するコンピュータを実行したままにしておきます。

+0

$ data ['E-Today'] ['value']このデータはjsonオブジェクトの外にあります。それはコードのどこかに追加する必要はありませんか? また、このスクリプトは個別のファイルにする必要がありますか? –

+0

@ Samuelその値はコード内にあります。別ファイルとはどういう意味ですか? – Andreas

+0

私はJSONファイルを読み込むプログラムを作っています。これは自分自身で動作することができないプログラムの一部です。したがって、このスクリプトはスクリプト内で実行できますか、スタンドアロンスクリプトである必要があります。 また、うまく動作するようにする方法の詳細を私に教えてもらえれば、実際にはうまく動作しません。 私はすでにあなたの時間のためにあなたに感謝したいと思いますけれども、私は実際にそれをappriciate :) –

関連する問題