vypis z rss s obnovou

Programovacie jazyky, rady, poradňa...
mailer
Star
Star
Príspevky: 544
Registrovaný: 01 jún 2006, 16:56

vypis z rss s obnovou

Príspevok od používateľa mailer »

caute,potrebujem urobit v php toto:
nacitanie noviniek z rss a s pravidelnym obnovovanim kazdych 20min. cize zada rss a ono sa to obnovi kazdych 20min.mate neco take?pozor rss mam potrebujem iba vypis z nej!
XilleR
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1125
Registrovaný: 16 júl 2005, 18:47
Kontaktovať používateľa:

Príspevok od používateľa XilleR »

Pozeram ze by sa to dalo ...a mozno by sa to zislo aj mne, ale to si necham asi na dlhe zimne veceri :D
..dalo by sa to prebrat ako XML, ale tam musis definovat vsetky znacky, ktore RSS pouziva (snad som trochu pomohol ) :wink:
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Príspevok od používateľa hojko »

Ten RSS script mas uz napisany a chces spravit len to obnovenie alebo nemas este nic???
mailer
Star
Star
Príspevky: 544
Registrovaný: 01 jún 2006, 16:56

Príspevok od používateľa mailer »

hojko napísal:Ten RSS script mas uz napisany a chces spravit len to obnovenie alebo nemas este nic???
RSS uz mam len potrebujem aby sa to nacitavalo do nejako toho .php suboru v podstate vypis z rss aby som tam mal :)
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Príspevok od používateľa hojko »

Mno neviem, ved nejak si spravis script co ti to tam zapise (ten script je ukazka, vzal som to z jedneho webu kde tak funguje (fungovalo) RSS, len som zmenil udaje (niekde som sa asi sekol), ale urcite pomoze)...

Kód: Vybrať všetko

if (($fd1 = @fopen("rss.xml", "w")))
{
	$katogorie = "";
	$res = mysql_query("SELECT id, meno FROM kategorie");
	while ($arr = mysql_fetch_assoc($res))
		$kategorie$arr["id"]] = $arr["meno"];
	$s = "<?xml version=\"1.0\" encoding=\"Windows-1250\" ?>\n<rss version=\"0.91\">\n<channel>\n" .
		"<title>nazov</title>\n<description>popis</description>\n<link>$DEFAULTBASEURL/</link>\n";
	@fwrite($fd1, $s);
	$r = mysql_query("SELECT id, aaa, bbb, ccc FROM udaje ORDER BY added DESC LIMIT 20") or sqlerr(__FILE__, __LINE__);
	while ($a = mysql_fetch_assoc($r))
	{
		$katogorie = $katogorie[$a["kat"]];
/*		$s = "<item>\n<title>" . htmlspecialchars($a["aaa"] . " ($katogorie)") . "</title>\n" .
			"<description>" . htmlspecialchars($a["bbb"]) . "</description>\n";*/
		$s = "<item>\n<title>" . htmlspecialchars($a["ccc"] . " ($katogorie)") . "</title>\n" .
			"<description>" . htmlspecialchars($a["ddd"]) . "</description>\n";
		@fwrite($fd1, $s);
		@fwrite($fd1, "<link>$index_webu/clanok.php?id=$a[id]</link>\n</item>\n");
	}
	$s = "</channel>\n</rss>\n";
	@fwrite($fd1, $s);
	@fclose($fd1);
}
To pouzijes napriklad do scriptu kde pridavas clanky. Ak niekto prida clanok, tak sa automaticky zapise do suboru v XML/RSS a budes ako linku na rss pouzivat odkaz na ten subor. Tym padom to bude fungovat na sposob cache, pretoze jedine co sa bude obnovovat bude ten subor, takze nebudes zatazovat databazu a podobne. Ak sa prida clanok, tak dopise aj do rss suboru.

Jednoduchy prikaz na cache do suboru, ktory mozes pouzit niekde inde, napriklad tak ako je pouzity pri scripte top karma (v menu) na tomto webe:

Kód: Vybrať všetko

// START CACHE //

     $cachefile = "/cache/subor.html";
     $cachetime = 20 * 60; //cas v sekundach, cize 20 minut
     // Serve from the cache if it is younger than $cachetime
     if (file_exists($cachefile) && (time() - $cachetime
        < filemtime($cachefile))) 
     {
        include($cachefile);
//        print("<p align=center><font class=small>Posledná aktualizácia ".date('d.m.Y H:i:s', filemtime($cachefile)).". Aktualuzácia každých 20 minút.</font></p>");
        end_main_frame();
        stdfoot();

        exit;
     }
     ob_start(); // start the output buffer
// START END

script
script
script
script
script

// CACHE END //////////////////////////////////////////////////

      // open the cache file for writing       
      $fp = fopen($cachefile, 'w'); 
      // save the contents of output buffer to the file     
      fwrite($fp, ob_get_contents());
      // close the file
       fclose($fp); 
       // Send the output to the browser
       ob_end_flush(); 

// END END
mailer
Star
Star
Príspevky: 544
Registrovaný: 01 jún 2006, 16:56

Príspevok od používateľa mailer »

:) Hojko,urob to pls a spakni to do neakeho .zip a uploadni nekam a zadaj tam cestu k rss tuto http://www.itnews.sk/export/itnews-sk.rss len vobec neviem ako to urobit,diky
heker
Redeemer
Redeemer
Používateľov profilový obrázok
Príspevky: 14816
Registrovaný: 30 máj 2006, 20:27

Príspevok od používateľa heker »

Co ty vobec xces? Ty xces aby si si na stranku dal rss z itnews.sk s nacitavanim kazdych 20 minut?
mailer
Star
Star
Príspevky: 544
Registrovaný: 01 jún 2006, 16:56

Príspevok od používateľa mailer »

heker napísal:Co ty vobec xces? Ty xces aby si si na stranku dal rss z itnews.sk s nacitavanim kazdych 20 minut?
jooooooooooooooooo
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Príspevok od používateľa hojko »

Pouzil som script, ktory som robil pre hojko.com a neskor pouzil pre lamky.net pre nacitavanie noviniek z RSS. Princip by si chapat mal, len si to uprav, pretoze je to stiahnuty script z netu, upraveny pre phpBB, doplnil som tam to cachovanie... Ale pozor - musis pouzivat celu cestu k cache suboru, tj. napr. /var/www/hojko.com/cache/itnews.html!!!
Prílohy
a.zip
(1.61 KiB) 110 stiahnutí
mailer
Star
Star
Príspevky: 544
Registrovaný: 01 jún 2006, 16:56

Príspevok od používateľa mailer »

hojko napísal:Pouzil som script, ktory som robil pre hojko.com a neskor pouzil pre lamky.net pre nacitavanie noviniek z RSS. Princip by si chapat mal, len si to uprav, pretoze je to stiahnuty script z netu, upraveny pre phpBB, doplnil som tam to cachovanie... Ale pozor - musis pouzivat celu cestu k cache suboru, tj. napr. /var/www/hojko.com/cache/itnews.html!!!
ty kokso a cache mam tomu ako urobit?
mailer
Star
Star
Príspevky: 544
Registrovaný: 01 jún 2006, 16:56

Príspevok od používateľa mailer »

ok ide mi to a teraz potrebujem len 5 poslednych sprav z toho zobrazovat

edit// a este aby sa zobrazoval iba nadpisziadne podrobnosti pod odkazom a pridat premenne aby som to vlozil do phpBB vzhladu - na php som lama
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Príspevok od používateľa hojko »

Cache je k tom spravena, len tam treba nastavit cestu. Nacitavanie 5 RSS by sa dalo spravit cez limit alebo daky parser, len neviem ako. nadpisy si pozri v scripte, skus sa s tym pohrat a vyhodit niektore veci ako napr. description, image atd... (neviem ake su tam premenne, triafam len z hlavy).
Napísať odpoveď