Добрый вечер, господа! Помогите пожалуйста с задачей. Есть парсер валют с сайта НБ РБ. Парсер берёт данные и сохраняет их в xml-файл и делает он это при каждом запросе. Как сделать так, чтобы данные сохранялись в файл 1 раз в сутки? Код (PHP): $today = date("m/d/Y"); $fp = fopen('course.xml', 'w'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.nbrb.by/Services/XmlExRates.aspx?ondate='.$today); curl_setopt($ch, CURLOPT_FILE, $fp); curl_exec($ch); fclose($fp); curl_close ($ch); Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
запускать данный скрипт 1 раз в сутки при Добавлено спустя 44 секунды: запускать данный скрипт 1 раз в сутки при помощи крона.
А можно сверять дату обновления файла с текущей датой, если разница превышает 20 часов запускать скрипт?
Возможно и подходит, но в моих глазах его использование (т.е. для человека нулевого уровня) сложно устроено. Я вроде бы и представляю себе как он работает, но в данном случае мне кажется лучше обойтись другим способом. Как вы считаете?
я считаю использование крон - это лучшее решение поставленой задачи ) Добавлено спустя 1 минуту 33 секунды: с его помошью можно хоть каждую минуту данный скрипт запускать.
Код (PHP): # Выполнять задание в 18 часов 7 минут 13 мая если это пятница 7 18 13 5 5 /home/www/myscript.pl # Выполнять задание раз в час в 0 минут 0 */1 * * * /home/www/myscript.pl # Выполнять задание каждые семь часов в 0 минут 0 */7 * * * /home/www/myscript.pl # Выполнять задание по воскресеньям в 10 час 30 минут 30 10 * * 0 /home/www/myscript.pl Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Нет, не лучше. Крон - простейшая штуковина, абсолютно. Точнее, для запуска одного-единственного скрипта без дополнительных параметров - самое простейшее дело. У адекватных хостеров обычно даже есть GUI для работы с кроном. А в вашем предложении: сверять дату обновления файла с текущей датой, - как вы собираетесь сверять? Другим скриптом? Который тоже надо будет как-то запускать?
В данный момент скрипт с парсером запускается каждый раз, когда пользователь запрашивает страницу. Вот я и подумал делать проверку в этом же скрипте на давность сохранённого xml-файла. Т.е. запрос пользователя - если файлу .xml меньше суток, то ничего не делать, если больше, то спарсить его заново.
Ну, как вариант. Как костыль. Но тут 1. Лишняя, совершенно ненужная нагрузка (пусть небольшая, но некошерно же) 2. Это ж надо написать ещё один скрипт проверки 3. Загрузка страницы у пользователя будет осуществляться дольше за счёт выполнения ещё одного условия Или: Код (PHP): 0 * * * * php /путь/до/скрипта.php в крон