RSS-Feed mit PHP - Wo wird das Script aufgerufen?

DrEvil

Erfahrenes Mitglied
Hallo Leute,
ich schlage mich gerade mit einem selbsterstellten RSS-Feed rum. An anderer Stelle habe ich auch bereits ein weiteres Problem geschildert.

Aber meine Frage an dieser Stelle ist eine andere.
Bei dem Versuch einen Feed zu bauen, habe ich mittlerweile einige Tutorials gelesen. Viele speichern eine via php-Script erstellte Feed-Struktur in eine xml-Datei. Das könnte ich eigentlich auch mit meinen PHP-Kenntnissen hinbekommen. An einer Stelle habe ich nur eine Denkblockade, die ich nicht gelöst bekomme.

Wenn (bspw.) "feed.xml" die Feed-Datei für die ganzen Feed-Reader etc. ist und "feed-creator.php" die entsprechende PHP-Datei (samt Script), mit der "feed.xml" erstellt wird.
Wo führe ich feed-creator.php dann eigentlich aus, damit feed.xml immer aktuell ist.

Ich meine ich könnte mir vorstellen einfach jedes mal wenn die index-Seite samt der Einträge (die am Ende im Feed erscheinen) aufgerufen wird, das Script in feed-creator.php auszuführen. Aber das ist ja nicht die Variante mit dem aktuellsten Ergebnis, weil jeder Feed-Reader ja nur auf feed.xml zugreift und im schlimmsten Fall alle nur per Feed-Reader lesen und das Script in der feed-creator.php garnicht aufgerufen wird und damit auch feed.xml nicht mehr aktualisiert wird.


Wie wird denn dieses Problem allgemein gelöst?
 
Moin:

Variante 1:lasse die feed-creator.php das RSS-Dokument selbst ausgeben, und führe die RSS-Reader dorthin, statt zur feed.xml

Variante2: du müsstest selbst überwachen, wann sich die Daten ändern(sie ändern sich ja nicht durch Geisterhand)...und dann feed-creator.php ausführen.
 
Mh - ja so hatte ich mir das auch gedacht.

Aber häufig hat man ja ne xml-Datei als Feed. Bei Wordpress wird ja auch irgendwie standardmäßig ne xml erzeugt, ist das da denn auch so, dass die erst erzeugt wird, wenn mal wieder jemand auf die index geht?
 
Die sollte erzeugt werden, wenn du ein neues Item hinzufügst.
Das hat den Vorteil, dass sie den Rest der Zeit statisch ist und somit nicht bei jedem Aufruf dynamisch erzeugt werden muss.
 
Wie Wordpress das genau macht, kann ich dir nicht sagen.

Der Vorteil einer reell existierenden XML-Datei liegt ja daran, dass der Server entlastet wird, weil nicht bei jeder Anforderung des Feed die XML-Datei erst generiert werden muss....wie Felix es schon gesagt hat.

Da gibt es wiederum mehrere Möglichkeiten:

Eine hab ich genannt...deine Anwendung muss selbstständig bei jeder Änderung der Daten die XML-Datei selbst neu generieren(über das PHP-Skript)

eine andere, noch schonendere(besonder sinnvoll, wenn sich deine Daten sehr oft ändern, aber der Feed vergleichsweise selten angefordert wird):
Deine Anwendung löscht die XML-Datei nur bei Änderung der Daten(dazu muss sie natürlich wiederum selbst Anderungen der Daten zur Kenntnis nehmen).
Wird die XML-Datei nun angefordert, und existiert nicht, erfolgt eine serverseitige Umleitung(per mod_rewrite) zu dem PHP-Skript.
Das PHP-Skript generiert die neue Datei, speichert sie auf dem Server und gibt sie aus.
 
Zurück