Существует ли простой способ иметь сценарий PHP, выполняют некоторый HTML в определенное время суток?
Например, у меня есть на моей домашней странице заголовок, и в определенное время я хочу смочь добавить что-то прямо под заголовком, в этом случае iframe.
Я знаю, что все упомянули задания крона, но как это будет работать с этим? также есть ли альтернатива? Не доступный на всем хостинге
Идея заданий Крона и схемных заданий, кажется, противоречит тому, что ты на самом деле пытаешься сделать. Если вы хотите, чтобы что-то отображалось (в данном случае 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
. Вы можете добавить PHP-скрипт в кронтаб для автоматического запуска скрипта через определенные интервалы времени. Из командной строки введите crontab -e
, чтобы добавить запись в ваш кронтаб.
Когда у вас нет доступа к заданиям cron или запланированным задачам на вашем сервере, вы можете использовать онлайн сервисы, такие как http://pingability.com/, чтобы ударить по вашему скрипту через заданные интервалы времени. Это не идеально, но вы можете встроить какой-нибудь секретный ключ и код, который гарантирует, что скрипт не будет запущен несколько раз в течение определенного периода времени. Может показаться немного хакерским, но я использовал его на живых системах для ежедневной рассылки писем, и вот уже больше года он отлично работает.
.Если вы работаете под Linux, то у вас может быть работа в cron.
Если вы работаете под Windows, тогда используйте планировщик задач.
Если вы работаете в хостовой среде, вам нужно проверить, разрешена ли та или иная из них.
cron
на UNIX, launcd
на OS X и Task Scheduler на Windows платформах.
Используйте задания cron или что-то подобное, смотрите f.i. cron jobs или планировщик PHP