PHP-скрипт для выполнения в определенное время

Есть ли простой способ заставить php-скрипт выполнять некоторые html в определенное время дня?

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

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

Идея работы cron и scheudled, похоже, противоречит тому, что вы на самом деле пытаетесь сделать. Если вы хотите, чтобы что-то отображалось (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 } ?> 

Идея периодического добавления / удаления iframe из-под вашего заголовка с заданием планировщика на стороне сервера / задачи намного сложнее, чем просто условно отображать его во время каждого запроса.

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

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

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

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

cron в UNIX, launchd на OS X и планировщик заданий на платформах Windows.

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

В системах Unix cron – ваш лучший выбор.

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

вы можете назначить задачу как задание cron.

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