- Автор темы
- #1
Здравствуйте.
Набросал маленький модуль для подсчета кликов по кнопке. массив со статистикой кодирую в json и записываю в файл.
Для записи и чтения файла использую функции движка DLE
В итоге получается что каждые пару часов содержимое файла сбрасывается.
Предпологаю что проблема в функции записи или чтения с файла. Но не могу понять где именно.
Набросал маленький модуль для подсчета кликов по кнопке. массив со статистикой кодирую в json и записываю в файл.
Код:
$button = $_GET['button'];
if( !$button ) exit();
$stats = get_vars("button_stats");
$date = date('Y-m-d');
$count = intval($stats[$date][$button]);
$count++;
$stats[$date][$button] = $count;
set_vars( "button_stats", $stats );
Для записи и чтения файла использую функции движка DLE
Код:
function set_vars($file, $data) {
$file = totranslit($file, true, false);
if ( is_array($data) OR is_int($data) ) {
file_put_contents (ENGINE_DIR . '/cache/system/' . $file . '.php', json_encode( $data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), LOCK_EX);
@chmod( ENGINE_DIR . '/cache/system/' . $file . '.php', 0666 );
}
}
function get_vars($file) {
$file = totranslit($file, true, false);
$data = @file_get_contents( ENGINE_DIR . '/cache/system/' . $file . '.php' );
if ( $data !== false ) {
$data = json_decode( $data, true );
if ( is_array($data) OR is_int($data) ) return $data;
}
return false;
}
В итоге получается что каждые пару часов содержимое файла сбрасывается.
Предпологаю что проблема в функции записи или чтения с файла. Но не могу понять где именно.