PHP хранит результат динамической переменной каждые 24 часа - PullRequest
2 голосов
/ 20 апреля 2019

Долго искал, но нигде не нашел.Допустим, я сделал вызов API и поместил некоторые данные в переменную

   <?php
$coinData = json_decode(file_get_contents('https://min-api.cryptocompare.com/data/pricemultifull?fsyms=BTC&tsyms=USD'), true); 


    $testVar = $coinData['RAW']['BTC']['USD']['PRICE'];


    echo $testVar;

   ?>

. Теперь я получил фактическое значение цены биткойна в реальном времени в моей переменной $ testVar.Это значение постоянно меняется.

Как я могу делать «снимок» каждые 24 часа этой переменной и сохранять это значение данных?Я не могу найти ничего о том, как «сделать снимок» значения из динамической переменной.

Например, через 1 час я хочу сделать «снимок» из переменной $ testVar, на данный моментзначение 5322.15.Теперь я хочу сохранить это точное значение как 5322.15 автоматически, чтобы использовать его позже.

Спасибо за помощь!

1 Ответ

1 голос
/ 20 апреля 2019

Установите задание cron на запуск каждые 24 часа, а затем запишите значение каждого дня в виде новой строки в таблице базы данных. Например, по этим направлениям:

id int NOT NULL,
timestamp datetime NOT NULL,
current_value decimal(10,2) NOT NULL,

Ваша работа cron будет выглядеть примерно так:

<?php
$db= mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);//connect to db
$coinData = json_decode(file_get_contents('https://min-api.cryptocompare.com/data/pricemultifull?fsyms=BTC&tsyms=USD'), true); 
$current_value = $coinData['RAW']['BTC']['USD']['PRICE'];
$timestamp = date('Y-m-d H:i:s');
$query = $db->prepare("INSERT INTO currency_values (current_value, timestamp) VALUES (?, ?)");
$query->execute([$current_value, $timestamp]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...