Выполнение Cron задачи без использования хостингового Cron’a — когда это по каким-либо причинам невозможно или нежелательно.
Например, нужно с определенной периодичностью получать что-то с удаленного ресурса, или обновлять какую-то внутреннюю информацию на сайте. Вставляется либо перед <!DOCTYPE>, либо в нужное место страницы/шаблона.
Пример использования:
- Вариант 1 ↴
<?php
$filename = 'check_time.txt'; // задаем контрольный файл
if (file_exists($filename)) { // существует ли он
$time_change = file_get_contents("check_time.txt"); // получаем записанную временную метку
$gap = time() – 60 * 60 * 1; // устанавливаем интервал — раз в час (то есть, при запросе (обновлении) страницы с кодом после указанного интервала информация обновится)
if ($ltime_change < $gap) // если записанная метка меньше интервала
{
include "script.php"; // вызов нужного скрипта
// или через file_get_contents("script.php");
file_put_contents("check_time.txt", time()); // записываем новую временную метку
}
}
?>
⇥ Или с автоматическим созданием файла:
<?php
$time_change = file_get_contents("check_time.txt"); // получаем записанную временную метку
$gap = time() – 60 * 60 * 1; // устанавливаем интервал — раз в час (то есть, при запросе (обновлении) страницы с кодом после указанного интервала информация обновится)
if ($ltime_change < $gap) // если записанная метка меньше интервала
{
include "script.php"; // вызов нужного скрипта
// или через file_get_contents("script.php");
file_put_contents("check_time.txt", time()); // записываем новую временную метку
}
?>
- Вариант 2 ↴
Например, нужно обновлять информацию раз в сутки (то есть, когда первый посетитель в новых сутках запросит/обновит страницу с кодом):
<?php
$filename = 'new_day.txt'; // задаем контрольный файл
if (file_exists($filename)) { // существует ли он
$now_date = date("dFY"); // дата на сейчас
$check = date ("dFY", filemtime($filename)); //дата последнего изменения контрольного файла
if($check != $now_date) { // если даты не совпадают
include "script.php"; // вызов нужного скрипта
// или через file_get_contents("script.php");
file_put_contents("new_day.txt", time()); //обновляем контрольный файл
}
}
?>






Дмитрий#
Вот только эта штука врят ли крон заменит, да если будут люди на сайте, а если в этот день никого не было ? тогда и контент собственно не обновится
coder.hol.es /* Админ */#
Если на сайт никто не зайдет (хотя боты все равно зайдут) – то обновление контента и не нужно — для кого обновлять?)