Вопрос о календаре с PHP, чтение вашего компьютерного календаря

StackOverflow https://stackoverflow.com/questions/6345347

  •  27-10-2019
  •  | 
  •  

Вопрос

Так что я действительно озадачен, потому что у меня есть основные идеи, но я ищу некоторые из ваших знаний.

Что я пытаюсь сделать: я хочу в основном написать приложение, используя Twilio, о котором вам действительно не нужно знать, потому что это другая проблема. Это приложение делает, это вызывает файл PHP на моем веб -хосте и "запускает PHP -код"

С чем мне нужна помощь, так это то, как я могу вести рекорд в PHP календаря недели для моего компьютера. Под этим я имею в виду, если у кого -то вроде администратора есть определенный код, который я написал для них, и этот код работает автоматически за всю неделю, но определенная неделя, которую они не хотят, чтобы этот код запустил, вместо этого они хотят, чтобы другой код запустил эта неделя. Как я могу использовать PHP, чтобы найти, когда неделя закончилась или отслеживает неделю, используя этот календарь в правом нижнем углу экрана вашего компьютера, чтобы моя программа узнала после того, как администратор хочет, чтобы другой код запустился из обычного кода, что на неделе Не нужно запускать этот нерегулярный код администратора, возвращайтесь к вашему обычному автоматическому запущению.

Если вы все еще не знаете, о чем я говорю. Я постараюсь объяснить больше. Подумайте о 2 отдельных кодах. Один обычай, а другой автоматизирован. Автоматизированный работает все время автоматически. Но однажды администратор выбирает на эту неделю, он не хочет следить за обычным выступлением по запуску автоматизированного кода, как обычно, вместо этого на этой неделе он хотел бы запустить пользовательский код, и после того, как неделя вернется к запуску автоматизированного кода по-прежнему.

Я надеюсь, что это прояснит. Я знаю, что в PHP дает дату. Но мне действительно нужно экспертное мнение о том, как это сделать.

Это было полезно?

Решение

Как правило, для чего -то подобного я бы генерировал «nextrun_datetime» для каждой комбинации сценария/пользователя. По умолчанию это будет иметь повторный интервал, в вашем случае 7 дней.

Если пользователь не хочет запускать его на этой неделе, он может «выдвигать» его n дней, а впоследствии применяется обычный интервал обновления. Чтобы получить единовременный выстрел, я бы позволил обновлять интервал 0 или -1, чтобы обозначить это.

С такими вещами, когда сценарий обновляется (или сохранен, запускается, перенесен), вы можете рассчитать следующую дату, если она есть. Оттуда это относительно простая задача Cron, которая должна проверить последние n минут для выполнения любых сценариев.

Другие советы

Если ваши клиентские машины не работают в совершенно другом календаре, чем на сервере, зачем удивляться, что такое дата клиента? Если клиент и сервер не находятся в разных часовых поясах, дата клиента будет такой же, как и дата сервера, за исключением нескольких часов около полуночи.

Кроме того, зачем зависеть от клиента запустить код на стороне сервера? Если это регулярно встречается, используйте Cron или что -то в этом роде на сервере для автоматического запуска кода. Если администратор хочет переопределить, какой код запускается, вы можете предоставить интерфейс, чтобы изменить то, что выполняется. Нажмите кнопку на сайте, и флаг установлен где -то, что сообщает заданию времена, чтобы запустить скрипт B вместо скрипта A.

Я сделал что -то подобное. На основании дня (например, в понедельник, воскресенье) я бы сделал что -то другое в PHP.

Вот как я это сделал:

$today = date('w');
if ($today== 0){
    //its sunday
    exec('rmdir C:\myApp\oldLogs');
}
else{
    echo '1 -> monday, 2-> tuesday etc...'
}

Вы также можете сделать дату из строки, например,

$date = strtotime("8 days ago 14:00");
/*
  or "Monday next week", "+1 week 2 days 4 hours 2 seconds","yesterday noon","10 September 2000" etc...
*/      
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top