@jekahm

Кеширование файла с file_get_contents?

Доброго времени суток!
Использую на хостинге в кроне функцию file_get_contents для получения содержимого файла в xml формате. Сам файл постоянно обновляется провайдером данных, который его предоставляет. Но несколько раз имела место след. ситуация. Непосредственно доступаясь к данному урлу с xml в браузере, вижу, что там действительно произошли изменения. В то время, как в БД были записаны старые данные.
Может ли быть такое, что данная функция имеет какой-то внутренний механизм кеширования? Если да, то как можно справиться с данной ситуацией?
Зарнее благодарен!
  • Вопрос задан
  • 307 просмотров
Решения вопроса 1
@jekahm Автор вопроса
Всем спасибо за помощь!
Оказалось, что это баг провайдера данных, который предоставляет данную инфу.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Azperin
Дилетант
Я возможно механизм работы не понял, но может имеет смысл просто в базе хранить путь до этого файла и рядом время последнего изменения ? Ну тоесть:
if (filemtime('some.xml') != $lastmodify) {
    //делаем загрузку в базу данных\мемкеш\еще кудато и выводим содержимое гетконтента
 
} else {
  //ну а если сюда попали, значит никаких изменений небыло и можно брать данные из кэша или базы
  //желательно еще добавить првоерку, существует ли вообще такой файл, но это уже мелочи

}
Ответ написан
Комментировать
Keanor
@Keanor
Ведущий разработчик
Пишите логи процесса обновления
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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