Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wpisanie RSS -> txt
Forum PHP.pl > Forum > Przedszkole
gregi1
Chciałbym umieścić na swojej stronie news ticker. Aby pod topem strony przewijały się nagłówki aktualności i udało mi się znależć schemat skryptu który tworzy taki ticker (może ktos zna też jakiś skrypt to prosze o informacje ale aby czytal z RSS) ale ten moj skrypt czyta z pliku txt.

I tutaj mam problem, czy może mi ktoś pomoc w napisaniu funkcji ktora wytnie z jakiegos ogolnie dostepnego RSS naglowki wiadomosci i wstawi to do pliku .txt na moim serwerze. I aby ta czynnosci powtarzala np. co 60 min.

Z gory dziekuje za pomoc.
Spawnm
hmmm podpowiem ci że rss to xml .
gregi1
Oki, czesciowo problem rozwiązałem.

Otóz mam:
  1. <?php
  2. $doc = new DOMDocument('1.0', 'iso-8859-2');
  3. $doc->load('http://wiadomosci.onet.pl/11,kategoria.rss');
  4. $title = $doc->getElementsByTagName('title');
  5. $link = $doc->getElementsByTagName('link');
  6. $file="news.txt";
  7. $fp = fopen($file, "w");
  8. for($i = 0; $i < 5; ++$i)
  9. {
  10.  $dane = '<a href="'.$link->item($i)->nodeValue.'" target="_blank">'.$title->item($i)->nodeValue.'</a><br/>';
  11.  
  12.  fwrite($fp, $dane);
  13.  
  14.  echo $dane;
  15.  }
  16.  fclose($fp);
  17. ?>


I moje pytanie jest czy da się jakoś zrobić aby ta funkcja albo ten plik .php uruchamial się co 1 godzine? Jak to rozwiazac. Mógłbym umiescic ten plik na stronie na ktorej bedzie ticker ale wtedy moglby byc konflikt jakby kilka osob w tym samym czasie wszlo na strone.
Spawnm
cron smile.gif
gregi1
A jakieś inne rozwiązanie raczej programistyczne?
Spawnm
zapisuj w bazie datę ostatniej aktualizacji i jak ktoś wchodzi co sprawdzaj , minęła godzina? tak->pobieramy i update bazy do obecnej daty.
gregi1
No to jest już rozwiązanie które jest już ciekawe smile.gif

TO już ostatnie pytanie, bo jakoś nie ma pomyslu jak to rozwiazac:) Chodzi mi o ta petelke

for (.....){

$dane= .......

}

jak był zapis do pliku to bez problemu, zamykalem plik po zapisaniu wszystkiego. A moje pytanie jest takie czy mozna jakos te dane zebrac w jedna zmienna i zapisac po wykonaniu tego for'a np przy i<15?

Bo jak bede potrzebowal 15 newsow, to w ten sposob musialbym wykonac 15 zapytan do bazy jakbym umiescil mysql_query w tym forze?
Spawnm
dlaczego 15 zapytań questionmark.gif
w 1 zapytaniu dajesz insert i w nim wszystkie newsy .
gregi1
Cytat(Spawnm @ 2.04.2009, 19:10:29 ) *
dlaczego 15 zapytań questionmark.gif
w 1 zapytaniu dajesz insert i w nim wszystkie newsy .


Albo jest juz tak pozno ze nie mysle albo nie rozumiem smile.gif

Ale jak startuje for to 1 news idzie do $dane, pozniej kolejny przebieg for'a i $dane to juz ten drugi news, wiec trace ten pierwszy? wiec musial bym dac mysql_query=insert $dane..... wlasnie w for. Czyli de facto (to moje zdanie- a jestem laikiem biggrin.gif) wykonalbym 15 zapytan? A jak dam mysql_query=insert $dane po for to wpisze mi tylko ostatnie $dane czyli 15 news.
Spawnm
w for daj tablicę i potem tą tablicę scal i daj do mysql.
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.