Сценарий PHP для выполнения в определенное время

Существует ли простой способ иметь сценарий PHP, выполняют некоторый HTML в определенное время суток?

Например, у меня есть на моей домашней странице заголовок, и в определенное время я хочу смочь добавить что-то прямо под заголовком, в этом случае iframe.

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

6
задан 30 December 2009 в 16:43
поделиться

8 ответов

Идея заданий Крона и схемных заданий, кажется, противоречит тому, что ты на самом деле пытаешься сделать. Если вы хотите, чтобы что-то отображалось (в данном случае iframe) только в определенные промежутки времени, вы можете просто проверять время сервера во время каждого запроса и выбирать его отображение, если вы находитесь в пределах заданного периода времени.

Что-то подобное произведет тот же эффект, что и задание cron, с большей детализацией, проверяя время в точный момент запроса.

<!-- Your Header here -->

<?php
$hour = date('G'); // 0 .. 23

// Show our iframe between 9am and 5pm
if ($hour >= 9 && $hour <= 17) { ?>
  <iframe .... ></iframe>
<?php } ?>

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

Обновление: Дополнительное время или типы сравнений могут быть заданы через что-то вроде

<?php 
$hour = date('G');
$day  = date('N'); // 1..7 for Monday to Sunday

if (($hour >= 5  && $hour <= 7)  // 5am - 7am
||  ($hour >= 10 && $hour <= 12) // 10am - 12 noon
||  ($hour >= 15 && $hour <= 19) // 3pm - 7pm
||  ($day == 5)                  // Friday
) { ?>
  <iframe...></iframe>
<?php } ?>

Идея периодического добавления/удаления ифрейма снизу вашего заголовка с заданием cron/task планировщика на стороне сервера намного сложнее, чем просто условное отображение его во время каждого запроса.

Даже если у вас есть какая-то конкретная задача, которая должна выполняться, например, периодически генерируемый отчет, фактическое задание по отображению результатов обычно не попадает под периодическую задачу. PHP-скрипт, отвечающий за то, чтобы показать, что iframe все еще будет запрашивать базу данных в момент запроса на показ любого нового содержимого, и отображать его, если оно будет найдено, а не периодическая задача каким-то образом модифицирует скрипт для включения iframe

.
13
ответ дан 8 December 2019 в 02:46
поделиться

Вы можете добавить PHP-скрипт в кронтаб для автоматического запуска скрипта через определенные интервалы времени. Из командной строки введите crontab -e, чтобы добавить запись в ваш кронтаб.

.
0
ответ дан 8 December 2019 в 02:46
поделиться

Когда у вас нет доступа к заданиям cron или запланированным задачам на вашем сервере, вы можете использовать онлайн сервисы, такие как http://pingability.com/, чтобы ударить по вашему скрипту через заданные интервалы времени. Это не идеально, но вы можете встроить какой-нибудь секретный ключ и код, который гарантирует, что скрипт не будет запущен несколько раз в течение определенного периода времени. Может показаться немного хакерским, но я использовал его на живых системах для ежедневной рассылки писем, и вот уже больше года он отлично работает.

.
4
ответ дан 8 December 2019 в 02:46
поделиться

Если вы работаете под Linux, то у вас может быть работа в cron.

Если вы работаете под Windows, тогда используйте планировщик задач.

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

6
ответ дан 8 December 2019 в 02:46
поделиться

cron на UNIX, launcd на OS X и Task Scheduler на Windows платформах.

6
ответ дан 8 December 2019 в 02:46
поделиться

вы можете запланировать задание как работу Крона.

0
ответ дан 8 December 2019 в 02:46
поделиться

На Unix-системах cron - ваша лучшая ставка.

2
ответ дан 8 December 2019 в 02:46
поделиться

Используйте задания cron или что-то подобное, смотрите f.i. cron jobs или планировщик PHP

2
ответ дан 8 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: