Skip to content

Instantly share code, notes, and snippets.

@luckydevilru
Last active May 14, 2019 15:21
Show Gist options
  • Select an option

  • Save luckydevilru/4d98e5e3fec080c7b42aa4c85a095dec to your computer and use it in GitHub Desktop.

Select an option

Save luckydevilru/4d98e5e3fec080c7b42aa4c85a095dec to your computer and use it in GitHub Desktop.
Цикличекий таймер обновления дня каждую неделю на php
<?php
define("VARS_DIR", __DIR__ ."/");
$ned[0]="-";
$ned[1]="ПН";
$ned[2]="ВТ";
$ned[3]="СР";
$ned[4]="ЧТ";
$ned[5]="ПТ";
$ned[6]="СБ";
$ned[7]="ВС";
$mes2[0]="-";
$mes2[1]="ЯНВАРЯ";
$mes2[2]="ФЕВРАЛЯ";
$mes2[3]="МАРТА";
$mes2[4]="АПРЕЛЯ";
$mes2[5]="МАЯ";
$mes2[6]="ИЮНЯ";
$mes2[7]="ИЮЛЯ";
$mes2[8]="АВГУСТА";
$mes2[9]="СЕНТЕБРЯ";
$mes2[10]="ОКТЯБРЯ";
$mes2[11]="НОЯБРЯ";
$mes2[12]="ДЕКАБРЯ";
$nednum=(int)date("w");
$mesnum=(int)date("m");
// echo " ".date("d")." ".$mes[$mesnum]." ".date("Y")." ";
// echo $ned[$nednum]." ".date("d")." ".$mes[$mesnum]." ".date("Y")." ";
$keyword = str_replace('-',' ',mb_strtolower($keyword));
# TIMER
$date = $end_day_update = file_get_contents(VARS_DIR.'time.txt') ?? date('Y-m-d'); # начало отсчета выставля в файле time.txt в формате 2019-04-30
$date = $start_time = new DateTime($date);
$end_day = $date->modify('+7 days'); // цикл обновления таймера
$now = date('Y-m-d');
$end_day_str = $date->format('Y-m-d');
$end_time_str = strtotime(date_format($start_time, 'Y-m-d'));
$now = date('Y-m-d');
$end_day = ltrim(date('d', $end_time_str), 0); # выводятся пользователю - день без нуля
$end_month = $mes2[(int)date("m", $end_time_str)]; # выводятся пользователю - месяц
# вывод в цикл если сегодня больше чем конец тамера - обновляем
if (strtotime($end_day_str)<strtotime($now)) {
$update_day = new DateTime($end_day_update);
$update_day->modify('+7 days');
$fp = fopen(VARS_DIR."time.txt", "w" );
fwrite($fp, $update_day->format('Y-m-d'));
fclose($fp);
}
echo 'ТОЛЬКО ДО '.$end_day.' '.$end_month;
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment