Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Информер погоды

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
shurikus
Отправлено: 13 Июня, 2008 - 08:28:19
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




Уважаемые WEB-программисты, если не трудно помогите решить проблему.
Такая задача: Есть локальный сайт на пердприятии на серваке Linux. Нужен информер погоды. На Gismeteo (и не только), как вы знаете, существует возможность получить код информера. Проблема в том, что при просмотре страницы сайта, чтобы код работал на локальной машине, пользователю необходим выход в интернет. Вобщем нужен скрипт, который забирал бы на сервер данные о погоде с каким-либо периодом и хранил у себя в виде php-страницы, на которую можно сослаться при нажатии ссылки "Погода".

Вот пример кода с Гисметео:

<script> var gminform_fc="0b0dbc", gminform_bc="FFFFFF"; </script>
<script language="JavaScript" src="http://informer.gismeteo.Ru/text/27612-1.JS"></script>

Спасибо заранее.
 
 Top
Джур
Отправлено: 13 Июня, 2008 - 14:11:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




несовсем понял что надо... Поэтому сделал кеширование только информера:

PHP:
скопировать код в буфер обмена
  1. <?
  2. if(@filemtime('cache.js')<(time()-3600)){
  3.   file_put_contents('cache.js',file_get_contents('http://informer.gismeteo.ru/text/27612-1.JS'));
  4. }
  5. ?>
  6. <script> var gminform_fc="0b0dbc", gminform_bc="FFFFFF"; </script>
  7. <script language="JavaScript" src="cache.js"></script>
  8.  

время жизни кеша 3600с, тобыш 1час

если же вам надо что-то более сложное, то проще юзать cron и wget...

(Отредактировано автором: 13 Июня, 2008 - 14:14:28)



-----
Тамбовский каджит тебе товарищ
 
 Top
shurikus
Отправлено: 13 Июня, 2008 - 14:40:32
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




Спасибо за внимание к проблеме. Возможно я немного мутновато всё изложил. Проблема в отсутствие у юзеров, просматривающих локальный сайт (предназначеный для внутреннего использования), ИНТЕРНЕТА. Так как код информера ссылается на прямую в инет, ничего у юзеров не отображается (погода). На серваке выход в инет имеется Необходим скрипт скачивающий данные о погоде в какую нибудь страничку, на которую можно сослаться ЛОКАЛЬНО без инета, обновляемую часа через 3.
 
 Top
Джур
Отправлено: 13 Июня, 2008 - 18:34:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




shurikus пишет:
На серваке выход в инет имеется Необходим скрипт скачивающий данные о погоде в какую нибудь страничку, на которую можно сослаться ЛОКАЛЬНО без инета, обновляемую часа через 3.


Уважаемый комерад... в предыдущем моем топике вы получили код для размещения на любой вашей страниче на вашем сервере. этот код будет показывать небольшой информер с погодой, в данном случае для москвы... юзверам интернет нужен не будет...

Когда я говорил что не понимаю что имено вы хотели, я имел в виду, нужно ли кешировать только информер или еще нужно кешировать страничку на которую этот информер ссылается...

Резюмирую: задачи вы в самом деле излагаете мутно. Поэтому если есть потребность, милости прошу, стучать ко мне в асю, чтобы не плодить на форуме оффтопики. Подмигивание


-----
Тамбовский каджит тебе товарищ
 
 Top
Джур
Отправлено: 22 Июня, 2008 - 15:02:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?
  2. if(@filemtime('meteo.txt')+3600<time()) file_put_contents('meteo.txt',file_get_contents('http://www.gismeteo.ru/towns/27612.htm'));
  3.  
  4. $x=file_get_contents('meteo.txt');
  5. preg_match_all("~var frc='(.+?)';~i",$x,$a);
  6. $x=$a[1][0];
  7. $x=preg_replace('~src="http://img.gismeteo.ru/images/(.+?)"~i','src="meteo/\\1"',$x);
  8.  
  9. echo $x;


-----
Тамбовский каджит тебе товарищ
 
 Top
Otto
Отправлено: 10 Июля, 2008 - 23:39:19
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)




сталкивался с поставленой задачей.
На сколько я знаю , gismeteo каждые четыре часа выкладывает xml файл с погодой .
На каждый город своя xml-ка со своим url (статичным).
Часто ссылатя на неё не желательно.
Я зделал елементарно - c помошью фушкции file_get_contents()
скачиваю данные с xml.
заношу их в бд и заношу время этой операции через функцию date().
При следующем выполнение скрипта страницы с погодой достаю из бд время последнего выполнения скачивания xml контента и проверяю , если оно больше четырёх часов - функция вновь скачивает xml с погодкой и обновляет старый который лежал в базе , а если не прошло 4 часа то просто вывожу данные из базы.
Главное написать скрипт который будет считать сколько времени прошло с последней загрузки xml файла...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB