Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Погодный информе(получение данных от сервера, только в определное время)

274
25 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
Вот собственно, хочу написать погодный информер. Данные получаются XML формате, которые обновляются 4 раза в сутки. Естественно было бы глупо делать, так что-бы информация запрашивалась при каждом обновлении страницы. Так вот возник вопрос, как лучше организовать кеширование полученной информации и загрузку только в определенное время, или с определенным периодом. Какие будут советы. Хотелось бы все сделать используя ООП.
Видимые мною решения, это либо хранить полученную информацию в файле и анализировать дату создания файла, через stat() или организовать все через БД. Я склоняюсь ко второму варианту, но хотелось бы найти альтернативное решение, конечно если оно вобще существует.
239
25 марта 2007 года
Dolonet
1.7K / / 20.05.2000
Если я правильно понял, надо на сайте графически или текстово отображать информацию, которая берется несколько раз в сутки с удаленного сервера.

Это как правило делается одним из двух способов:
1. При обращении к нашему серверу проверяется текущее время и время последнего обновления информации. Если в этот период был момент обновления информации на третьем сервере, то провести весь цикл операций по обновлению и отобразить. Иначе просто отобразить из кеша.
2. Поставить Cron jobs 4 раза в сутки на апдейт статичного контента. Клиент пусть обращается к нему.
274
25 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
Не, алгоритм работы ясен. Я не настолько ламер. Мне вот интерестно, как лучше организовать принцип хранения времени последнего обновления, и проверки. Хранить в БД, и сверять с текущем временем это тривиально. Есть ли более извращеные способы?
8
25 марта 2007 года
mfender
3.5K / / 15.06.2005
Не нравится хранить в БД - храни в файлах. )))

Устанавливаешь график, основанный на графике погодного серванта (они раза четыре за сутки меняют информацию). Чуть позже их забираешь информацию и раскладываешь по полкам у себя. Если это картинка с текущей погодой - лучше сделать её сразу, положить куда-то и браузеру отдавать её. Ну, и если таблица, то можно тоже сделать кэш её сразу и выдавать. А менять всё это по мере послупления свежака (четыре раза в сутки через час после обновления информации на "погодном серванте").
274
25 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
И такой вариант решения я видел. я уже писал. Жаль. Вобщем тему можо считать закрытой, всем спасибо. Просто иногда мне в голову приходят извращеные идеи. и я пытаюсь сделать, что-то так, что нормальному человеку в голову не прийдет :) Насамом деле я хотел, если возможно извратится как-т очерез возможности ООП, но вот чуток подитал и посоваетовался. вобщем других реализаций кроме, файлов и БД действително нету.
8
25 марта 2007 года
mfender
3.5K / / 15.06.2005
Что-то не вижу взаимосвязи между ООП и способами хранения информации...
239
25 марта 2007 года
Dolonet
1.7K / / 20.05.2000
Прорезюмирую, что если информация обновляется фиксированное количество раз в сутки по расписанию, то эффективнее всего для сервера будет работать через cron, потому что нет ничего быстрее, чем вернуть статичный контент клиенту, безо всяких БД и PHP
274
25 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
а можно чтуь детальнее, про cron?
8
25 марта 2007 года
mfender
3.5K / / 15.06.2005
Цитата: Lone Wolf
а можно чтуь детальнее, про cron?


CRON - это такая штука у UNIX'а, которая запускает программы по расписанию. Если есть к серверу SSH-доступ, то вызывается с помощью команды crontab -e (это редактор планировщика).

274
25 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
К сожалению, у меня нет SSH доступа к серверу:( Единственый вид доступ. это FTP(это бесплатный хостинг)
8
25 марта 2007 года
mfender
3.5K / / 15.06.2005
Цитата: Lone Wolf
К сожалению, у меня нет SSH доступа к серверу:( Единственый вид доступ. это FTP(это бесплатный хостинг)


Ну, там, скорее всего, и crontab не разрешён юзерям...

Тогда ты можешь оттталкиваться от запросов к серверу: браузер спросил что-то, ты проверяешь время, если пора - сливаешь что-тебе надо и дальше по программе.

347
25 марта 2007 года
Maniak
319 / / 05.11.2005
Lone Wolf если не жалко выложи свои исходники по работе с xml, а то что то у меня ничего не получается, я хочу что то похожее сделать...
239
25 марта 2007 года
Dolonet
1.7K / / 20.05.2000
Вообще если что-то хоть немного серьезное, не рекомендовал бы бесплатный хостинг использовать. Опыт показывает, что с ним много проблем. Есть очень дешевые хостинги нынче.
274
25 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
Платный хостинг, это хорошо. Но сайт того не стоит..))

Цитата: Maniak
Lone Wolf если не жалко выложи свои исходники по работе с xml, а то что то у меня ничего не получается, я хочу что то похожее сделать...


Ок. как сделаю выложу. Но там все довольно просто, регулярные выражения.. Я просто из XML-а вытяну то что мне нужно и отображу на странице.

8
25 марта 2007 года
mfender
3.5K / / 15.06.2005
XML+регулярные выражения - не правильно. XML для того и сделан, чтобы работать с ним удобно было его средствами. В PHP для этого всё (почти всё) предусмотрено.
274
25 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
а можно пару примеров работы, с средствами парсинга ХML в ПХП? а то я читаю мануал. и что-то не доконца понимаю принцип работы. Там есть функции, которые вренут все что заключено в определеные тэги?
274
26 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
спасибо. хорошая статейка. у мну такой еще вопрос.
Я пишу
 
Код:
$dom = new DomDocument();
$dom->load("http://informer.gismeteo.ua/xml/33345_1.xml");

но возникает такая ошибка
Warning: DOMDocument::load(http://informer.gismeteo.ua/xml/33345_1.xml) [function.DOMDocument-load]: failed to open stream: Permission denied in ....
в php.ini прописано понимание, юрл, как файлов. т.е.
 
Код:
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

Я теряюсь в догадках...
15
26 марта 2007 года
shaelf
2.7K / / 04.05.2005
Сделай file_get_contents() и результ загрузи в DOM
274
26 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
Пробывал и file_get_contents() и fopen() Все одно и то же. Доступ запрещен...
8
26 марта 2007 года
mfender
3.5K / / 15.06.2005
Цитата: Lone Wolf
Пробывал и file_get_contents() и fopen() Все одно и то же. Доступ запрещен...


Что, вобщем-то, и понятно. Эти XML предназначенны для личного использования. Если хочешь у себя на сайте их размещать, нужно деньги платить за это. Так что, скорее всего причина кроется именно в этом.

274
26 марта 2007 года
Lone Wolf
1.3K / / 26.11.2006
Нет, этот XML -бесплатен. Я вот думаю, може это мой сервак блочит такого рода трафик.
8
26 марта 2007 года
mfender
3.5K / / 15.06.2005
Цитата: Lone Wolf
Нет, этот XML -бесплатен. Я вот думаю, може это мой сервак блочит такого рода трафик.


Это они могут блокировать запросы с твоего серванта.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог