Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [RSS] Jak tworzyć dynamicznie ?
Forum PHP.pl > Forum > XML, AJAX > XML
sawic
Witam.
Sprawa wygląda tak:
Mam strone WWW wyświetlającą aktualne warunki pogodowe.
Dane z urządzenia pobierane są co 60 sekund i zapisywane do pliku txt, następnie gdy ktoś wchodzi na stronę to skrypt php odczytuje dane z pliku i wyświetla je na stronie.
Chciałbym stworzyć kanał RSS, w którym aktualne warunki pogodowe uaktualniane były by powiedzmy co 10 minut.
Jak stworzć statyczny kanał i wpisać do niego odpowiednie dane to wiem, nie wiem natomiast w jaki sposób zmieniać zawartość pliku co te wcześniej ustalone 10 minut.

Chciałbym też aby rozwiązanie to działało pod windowsem i linuxem.

Myślałem o napisaniu skryptu w bashu, który odpalony w cronie generował by plik XML co jakiś określony czas, ale nie wydaje mi się to do końca sensowne.

Może za pomocą php, ale jak ?
Tzn. chodzi mi o to, że php działa gdy ktoś odwiedza stronę i zastanawiam się czy powinienem wygenerować dynamicznie plik XML, gdy jakiś czytnik będzie chciał go przeczytać (chyba to jest bezsensowne), czy też użyć php do generowania statycznego pliku XML, który by gdzieś sobie leżał na serwerze. Tylko jak zmusić do tego php, aby okresowo działało ?

Poradzę sobie ze wszystkim, tylko proszę o nakierowanie mnie na odpowiednie mechanizmy, w jaki sposób powinno to być zrobione.
Aha i jeszcze jedno - javascript odpada, jak narazie to dla mnie ciemna magia i nie śpieszy mi się do nauki tego.


Pozdrawiam
crash
A po co generować plik XML za pomocą php jak równie dobrze można generować dynamiczne dane kanału RSS bezpośrednio po wywołaniu skryptu. Wystarczy dodać odpowiedni nagłówek i używać linku do skrypty php jako adresu kanału RSS. Jak napisać taki skrypt? Odpowiedź znajdziesz w wyszukiwarce...
sawic
Cytat
A po co generować plik XML za pomocą php jak równie dobrze można generować dynamiczne dane kanału RSS bezpośrednio po wywołaniu skryptu.

Ale skryptu w czym ? Gdzie ? winksmiley.jpg
To dla mnie nie jasne.
Dwie sprawy:
1. Mogę generować kanał RSS jeżeli jakiś czytnik będzie chciał go pobrać, wtedy dane będą najbardziej aktualne, ale czy to nie zajeździ kompa na którym to będzie stało ? Chyba trzymanie statycznego pliku XML, zmienianego co 10 minut będzie bardziej wydajne ... ?
2. Wydaje mi się, że jeżeli adres pliku docelowego dla kanału RSS bedzie miał rozszerzenie *.php to nie każdy czytnik to przyjmie. Zgadza się ? A jeżeli będzie miał rozszerzenie inne niz *.php to wtedy php nie przetworzy mi zawartego w nim kodu.

Cytat
Wystarczy dodać odpowiedni nagłówek i używać linku do skrypty php jako adresu kanału RSS

No właśnie, jak w pytaniu 2. Nie wiem po prostu czy tak można.
A jak jest to robione na innych stronach, gdzie kanały RSS mają rozszerzenie RSS, albo XML ?

Cytat
Jak napisać taki skrypt? Odpowiedź znajdziesz w wyszukiwarce...

A o to jak go napisać to już się nie martwię, bo se poradzę, a jeśli nie to będę pytać, ale brak mi informacji o ogólnej idei działania tego rozwiązania.

Pozdrawiam.
tiraeth
Cytat
1. Mogę generować kanał RSS jeżeli jakiś czytnik będzie chciał go pobrać, wtedy dane będą najbardziej aktualne, ale czy to nie zajeździ kompa na którym to będzie stało ? Chyba trzymanie statycznego pliku XML, zmienianego co 10 minut będzie bardziej wydajne ... ?

A dlaczego nie możesz zaraz przy zapisywaniu danych do pliku txt, dodać odpowiedni element XML? Chyba to mniej zajeździ serwer niż uruchamianie CRONa co 10 minut?

Cytat
2. Wydaje mi się, że jeżeli adres pliku docelowego dla kanału RSS bedzie miał rozszerzenie *.php to nie każdy czytnik to przyjmie. Zgadza się ? A jeżeli będzie miał rozszerzenie inne niz *.php to wtedy php nie przetworzy mi zawartego w nim kodu.

A znasz taki plik jak httpd.conf? Możesz spokojnie dodać:
Kod
AddType application/x-httpd-php .xml

A poza tym wydaje mi się, że czytnik ma w d... nazwę pliku i jego rozszerzenie, on sprawdza po nagłówkach a nie po rozszerzeniu.

Cytat
A jak jest to robione na innych stronach, gdzie kanały RSS mają rozszerzenie RSS, albo XML ?

Odpowiedz znajdziesz na samej górze mojego postu smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.