filament
Erfahrenes Mitglied
Hallo Leute,
ich habe folgendes Script geschrieben, um eine XML Datei zu erstellen:
Nun meine Frage: Bei großer Anzahl an Aufrufen der RSS Datei (Hier rss.php) wird die Datenbank zu sehr beansprucht. Ich würde nun gerne eine statische Datei erzeugen und diese dann immer überschreiben. Wie stelle ich das am einfachsten an?
Ich hab schon was von SimpleXML und DOM gelesen, aber irgendwie blicke ich da gar nicht durch. Gibts vielleicht ne einfachere Variante? So ähnlich als wenn ich ne txt Datei erstelle und reinschreibe, das muss doch möglich sein?
Bitte nicht den Code nur reinhämmern. Eine Erklärung wäre schön oder ein erklärender Link, denn ich möchte es ja verstehen und nicht einfach kopieren. P.S: Timm Commans hatte hier nen Video Tutorial geschrieben dazu und hatte einen zweiten Teil genau mit dieser Problematik angekündigt, gibts das vielleicht irgendwo? (Habs leider nicht finden können)
Danke im Voraus!
Gruß Ronny
ich habe folgendes Script geschrieben, um eine XML Datei zu erstellen:
PHP:
<?php
include("includes/config.php");
header("Content-type: application/xml");
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n";
$verbindung = mysql_connect($server, $user, $passwort) or die ("Es konnte keine Verbindung zum Server hergestellt werden!");
mysql_select_db($datenbank) or die ("Diese Datenbank existiert nicht!");
?>
<rss version="2.0">
<channel>
<title>RSS-Feed</title>
<link>http://www.mysite.de</link>
<discription>My News Feed</discription>
<language>de-DE</language>
<?php
$datensatz = mysql_query("SELECT datum FROM news ORDER BY id DESC LIMIT 0,1");
$row = mysql_fetch_assoc($datensatz);
?>
<lastBuildDate><?php echo date("D, d M Y H:i:s T", $row['datum']); ?></lastBuildDate>
<?php
$daten_news = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,200");
while ($row = mysql_fetch_assoc($daten_news))
{
echo " <item>\n";
echo " <title>".$row['schrift']."</title>\n";
echo " <author>".$row['autor']."</author>\n";
echo " <pubDate>".date("D, d M Y H:i:s T", $row['datum'])."</pubDate>\n";
echo " <link>http://www.mysite.de/news.php?".$row['id']."</link>\n";
echo " <discription>".$row['text']."</discription>\n";
echo " </item>\n";
}
?>
</channel>
</rss>
<?php mysql_close($verbindung); ?>
Nun meine Frage: Bei großer Anzahl an Aufrufen der RSS Datei (Hier rss.php) wird die Datenbank zu sehr beansprucht. Ich würde nun gerne eine statische Datei erzeugen und diese dann immer überschreiben. Wie stelle ich das am einfachsten an?
Ich hab schon was von SimpleXML und DOM gelesen, aber irgendwie blicke ich da gar nicht durch. Gibts vielleicht ne einfachere Variante? So ähnlich als wenn ich ne txt Datei erstelle und reinschreibe, das muss doch möglich sein?
Bitte nicht den Code nur reinhämmern. Eine Erklärung wäre schön oder ein erklärender Link, denn ich möchte es ja verstehen und nicht einfach kopieren. P.S: Timm Commans hatte hier nen Video Tutorial geschrieben dazu und hatte einen zweiten Teil genau mit dieser Problematik angekündigt, gibts das vielleicht irgendwo? (Habs leider nicht finden können)
Danke im Voraus!
Gruß Ronny