W jaki sposób utworzyć kanał RSS?

Odpowiedz Nowy wątek
xyx
2006-11-20 22:09
xyx
0

Siema,
Mam problem...
Mianowicie chce utworzyć kanał RSS, wiem że działa on na plikach php i może działać np. na mysql...
Tylko nie wiem co dalej trzeba zrobić... pomóżcie!

Pozostało 580 znaków

2006-11-20 22:26

Rejestracja: 16 lat temu

Ostatnio: 8 lat temu

0

ściągnij sobie z jakiejś strony na której już jest takowy, wrzuć na serwer i oto masz swój kanał RSS
w jaki sposób będziesz zmieniał dane w tym pliku to już twój wybór, choćby ręcznie uploaduj sobie


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-11-21 10:57

Rejestracja: 17 lat temu

Ostatnio: 9 lat temu

0

Jedyne, co jest na stałe powiązane z RSS, to XML - gdyż RSS jest zapisywany w konkretnym dialekcie XML'a. To, że ktoś sobie generuje RSS w PHP na podstawie danych z MySQL'a to tylko jedno z niezliczonej ilości możliwych rozwiązań. Nikt nie powie Ci, co i jak masz zrobić, jak nie podasz jakichś konkretnych szczegółów.


Grunt to uziemienie...

Pozostało 580 znaków

2006-11-21 12:52

Rejestracja: 15 lat temu

Ostatnio: 11 miesięcy temu

0

Tak jak napisał Adam, niezmierzona jest ilość możliwości. Kod poniżej to jedna z nich. O ile się nie mylę (dawno to pisałem... ), to do tablicy $info zostały załadowane dane, czyli $info[1]['opis'], $info[1]['kategoria'] itd. Wystarczy teraz przeanalizować sobie:

<?php
$info_limit = 15;
$info_length = 200;

//konfiguracja dla rss-a
$rss_channel_link           = $main_page;
$rss_channel_title          = '';
$rss_channel_description    = '';
$rss_channel_lastBuildDate  = '';
$rss_channel_language       = '';
$rss_channel_copyright      = '';
$rss_channel_managingEditor = '';
$rss_channel_webMaster      = '';
$rss_channel_generator      = '';
$rss_channel_ttl            = '';

$plik[] = "<?xml version=\"1.0\" encoding=\"ISO-8859-2\"?>";
$plik[] = "<rss version=\"2.0\">";

$plik[] = "\t<channel>";
$plik[] = "\t\t<title>".$rss_channel_title."</title>";
$plik[] = "\t\t<link>".$rss_channel_link."</link>";
$plik[] = "\t\t<description><![CDATA[".$rss_channel_description."]]></description>";
if (trim($rss_channel_lastBuildDate) != "") 
    $plik[] = "\t\t<lastBuildDate>".$rss_channek_lastBuildDate."</lastBuildDate>";
if (trim($rss_channel_language) != "")
    $plik[] = "\t\t<language>".$rss_channel_language."</language>";
if (trim($rss_channel_copyright) != "")
    $plik[] = "\t\t<copyright>".$rss_channel_copyright."</copyright>";
if (trim($rss_channel_managingEditor) != "")
    $plik[] = "\t\t<managingEditor>".$rss_channel_managingEditor."</managingEditor>";
if (trim($rss_channel_generator) != "")
    $plik[] = "\t\t<generator>".$rss_channel_generator."</generator>";
if (trim($rss_channel_webMaster) != "")
    $plik[] = "\t\t<webMaster>".$rss_channel_webMaster."</webMaster>";
$plik[] = "\t\t<pubDate>".date("D, d M Y G:i:s +0200")."</pubDate>";
if (trim($rss_channel_ttl) != "")
    $plik[] = "\t\t<ttl>".$rss_channel_ttl."</ttl>";

for($x = 0; $x < count($info); $x++)
    {
    if(strlen($info[$x]['opis']) > $info_length)
        $info[$x]['opis'] = substr($info[$x]['opis'], 0, strpos($info[$x]['opis'], " ", $info_length))."...";
    $plik[] = "\t\t<item>";
    $plik[] = "\t\t\t<title>".$info[$x]['tytul']."</title>";
    if (trim($info[$x]['link']) != "")
        $plik[] = "\t\t\t<link>".$info[$x]['link']."</link>";
    $plik[] = "\t\t\t<description><![CDATA[".$info[$x]['opis']."]]></description>";
    if (trim($info[$x]['kategoria']) != "")
        $plik[] = "\t\t\t<category>".$info[$x]['kategoria']."</category>";

    $plik[] = "\t\t\t<pubDate>".date("D, d M Y G:i:s +0200" ,strtotime($info[$x]['data']))."</pubDate>";
    $plik[] = "\t\t\t<guid>".$info[$x]['guid']."</guid>";
    $plik[] = "\t\t</item>";
    }

$plik[] = "\t</channel>";
$plik[] = "</rss>";

header("content-type:text/xml; charset=ISO-8859-2");
for($x = 0; $x < sizeof($plik); $x++) print($plik[$x]."\r\n");
?>

Jeśli Ci to w czymś pomoże, to proszę bardzo. W każdym razie działa...


Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0