RSS Feed erzeugen

  • Viele haben ein PHP - MySQL CMS auf ihren Seiten laufen und möchten gern einen eigenen RSS Feed eröffnen, finden aber kein passendes Modul. Mit unterem Script brauchen Sie das nicht mehr. Passen Sie einfach die SQL Anfrage, die Spaltennamen an und den Pfad zur XML-Datei und starten Sie das Script. Idealerweise, lässt man das Script per Cron-Job laufen. Bitte helfen Sie anderen Usern, in dem Sie, die SQL-Abfrage für weitere Content-Management-Systeme als Kommentar unter dem Artikel veröffentlichen. Vielen Dank.

  • tja, ich habe das Script mal ausprobiert, es entsprechend angepaßt und auf den Server geladen. Zusätzlich habe ich eine Datei feed.xml hochgeladen, die aber nur die Channel-Beschreibung enthält, da ich davon ausgehe, dass das Script die Datei komplett schreibt.



    Tut sie aber nicht und ich frage mich, ob das mein Hoster (freenet) schuld ist oder ich...


    Fehlermeldung beim Aufruf von write_rss_feed.php lautet:


    Warning: fopen(http://www.handballimfernsehen.de/feed.xml): failed to open stream: HTTP wrapper does not support writeable connections. in /web/write_rss_feed.php on line 60


    Warning: fputs(): supplied argument is not a valid stream resource in /web/write_rss_feed.php on line 61


    Warning: fclose(): supplied argument is not a valid stream resource in /web/write_rss_feed.php on line 62

  • Hi Olaf,


    Dein Provieder scheint es zu verbieten, die Fehlermeldung klingt zumindest nicht nach falsch gesetzten Rechten auf dem Verzeichnis.


    Kann man aber testen, in dem man auf das Verzeichniss ein chmod 775 anwendet.


    Bye André

  • Tja, sieht so aus. Nach Änderung der Dateiattribute erhalte ich folgende Fehlerseite:


    500: Interner Server-Fehler


    Der Server ist auf einen internen Fehler gestoßen und konnte Ihre Anfrage nicht verarbeiten. Bitte setzen Sie sich mit dem Eigentümer dieser Domain unter webmaster@handballimfernsehen.de in Verbindung und informieren Sie ihn über den Zeitpunkt des Fehlers und durch welche Aktion er aufgetreten ist.


    Wenn Sie der Eigentümer sind, prüfen Sie bitte das betreffende CGI-Skript /write_rss_feed.php auf seine korrekte Syntax und auf korrekte Datei-Eigentümer bzw. -Berechtigungen oder überprüfen Sie eventuell vorhandene Zugriffsschutzdateien (.htaccess) auf fehlerhafte Direktiven. Sollte der Fehler weiterhin bestehen bleiben, wenden Sie sich bitte an unseren Kundenservice.
    +++
    Ende Fehlermeldung


    Somit ist das Script für mich nicht nutzbar?

  • Hallo ,


    ich bin auch seit längerem auf der Suche nach einem RSS Feed den ich in mein CMS integrieren kann . Standartmäßig ist die Funktion nicht enthalten . Wenn ich das hier richtig verstanden habe könnte man es ja praktisch überall nutzen . Kann mir jemand genau erklären wie man es am besten integriert ? Ich nutze den cmpro ( http://www.cmpro.org ) das läuft über php Dateien und über MySQL . Also ich habe meine news_add.php die schickts in die news Table und als Ausgabe habe ich dann meine news.php . Also bräuchte ich bloß die Table _news bei mir abfragen und in die rssfeed.php wieder einbringen oder sehe ich das falsch ? Vielleicht kann mir da jemand weiterhelfen .


    MfG Harlekin

  • Hallo,


    würde diesen Code gerne nutzen, nur bekomm ich das mit meinem CMS irgendwie nicht auf die Reihe. Bei mir scheitert es ganz einfach am Auslesen der Datenbank. Ich nutze das cb-portal (http://www.code-box.de) Das CMS ist eigentlich ziemlich simpel gestrickt, von daher hätte ich gedacht das ich das hinbekomme.


    Vom logischen Ablauf hab ich den Code ja verstanden, bekomm es nur nicht umgesetzt. Wenn mir hier jemand weiterhelfen könnte wäre ich äußerst dankbar.


    Vielen Dank im Vorraus

  • Hallo,


    würde diesen Code gerne nutzen, nur bekomm ich das mit meinem CMS irgendwie nicht auf die Reihe. Bei mir scheitert es ganz einfach am Auslesen der Datenbank. Ich nutze das cb-portal (http://www.code-box.de) Das CMS ist eigentlich ziemlich simpel gestrickt, von daher hätte ich gedacht das ich das hinbekomme.


    Vom logischen Ablauf hab ich den Code ja verstanden, bekomm es nur nicht umgesetzt. Wenn mir hier jemand weiterhelfen könnte wäre ich äußerst dankbar.


    Vielen Dank im Vorraus

  • Hallo,


    leider konnten wir Ihnen bei Ihrem Problem noch nicht weiterhelfen. Dies tut uns leid und wir bitten entsprechend um Ihr Verständnis.


    Wir möchten Ihnen daher an dieser Stelle ein paar gesammelte Tipps geben, welche Ihnen helfen sollen, eine Lösung zu Ihrem Problem zu finden:
    - Tragen Sie einige "Keyworte" Ihrer Anfrage in die Suchmaschine http://www.google.de ein
    - Besuchen Sie die Herstellerseite, des betroffenen Produktes


    Wir würden uns freuen, wenn Sie uns weiterhin treu bleiben.


    Viele Grüße
    Ihr HelplineTeam der PC-Special

  • Hallo,


    ich habe mal das RSS Sript hier probiert aber es kommt eine Fehlermeldung.


    [code1:37723553b5]
    Warning: fopen(home/httpd/vhosts/tsv-ellerbek.de/subdomains/handball/httpdocs/feed.xml): failed to open stream: No such file or directory in /home/httpd/vhosts/tsv-ellerbek.de/subdomains/handball/httpdocs/write_rss_feed.php on line 62


    Warning: fputs(): supplied argument is not a valid stream resource in /home/httpd/vhosts/tsv-ellerbek.de/subdomains/handball/httpdocs/write_rss_feed.php on line 63


    Warning: fclose(): supplied argument is not a valid stream resource in /home/httpd/vhosts/tsv-ellerbek.de/subdomains/handball/httpdocs/write_rss_feed.php on line 64[/code1:37723553b5]


    ALs testcode habe ich bisher:


    [code1:37723553b5]<?php
    $MYSQL_host = "";
    $MYSQL_user = "";
    $MYSQL_passw = "";
    $datenbank = "";


    $mysql_id = mysql_connect( $MYSQL_host, $MYSQL_user, $MYSQL_passw );
    mysql_select_db($datenbank, $mysql_id);


    if (!$mysql_id) {
    echo mysql_errno();
    exit;
    }


    //Unix-Pfad zur Datei
    $datei= "home/httpd/vhosts/tsv-ellerbek.de/subdomains/handball/httpdocs/feed.xml";
    $year = date("Y");


    $xml = "<?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
    <rss version="0.91">
    <channel>
    <title>http://www.tsvellerbek.de - Die Handballabteilung des TSV Ellerbek im Internet !</title>
    <link>http://www.tsvellerbek.de</link>
    <description>Die neuesten Artikel auf http://www.tsv-ellerbek.de - Die Internetseite der Ellerbeker Handballteams.</description>
    <language>de-de</language>
    <copyright>$year tsvellerbek.de</copyright>
    <image>
    <url>http://www.pc-special.net/gif/pc-special_80_x.gif</url>
    <title>http://www.tsvellerbek.de</title>
    <link>http://www.tsvellerbek.de</link>
    </image>
    ";


    //Abfrage
    $sql = mysql_query("
    SELECT * FROM damen2_news ORDER BY datum LIMIT 0, 30
    ");


    //Ende SQL-Anfragen


    //die result[] bitte entsprechend der Spaltennamen der DB editieren
    while ($result = mysql_fetch_array($sql, MYSQL_ASSOC)) {
    $description = "";
    $title = $result["titel"].": ".$result["titel"];
    $link = "http://handball.tsv-ellerbek.de/?idart=".$result["idart"];
    $xml .= "
    <item>
    <title><![CDATA[$title]]></title>
    <description><![CDATA[$description]]></description>
    <link><![CDATA[$link&linktype=rss]]></link>
    </item>
    ";
    }


    $xml .= "
    </channel>
    </rss>
    ";


    //File anlegen und speichern
    $file=fopen($datei,"w+");
    fputs($file,$xml);
    fclose($file);


    mysql_close();


    ?>[/code1:37723553b5]

  • Das ganze script mag ich nicht durchackern, aber einmal verwendest Du einen relativen Pfad:


    $datei="home/httpd/vhosts/tsv-ellerbek.de/subdomains/handball/httpdocs/feed.xml";


    ich würde sagen, richtig ist der absolute:


    $datei="/home/httpd/vhosts/tsv-ellerbek.de/subdomains/handball/httpdocs/feed.xml";



    korrekt?
    Thomas

    Tom - ex Mitglied im Team der PC-Special
    Computer-Hilfe-Forum, Tipps und Tricks, Scripte, Downloads und mehr