Hallo! Ich möchte dass eine rss-Feed in xml automatisch je nach neuer News immer geschrieben wird. Nur leider seh ich nix, dass was klappt. Dachte erst es liegt an den Rechten, aber ich hab jetzt alles Mögliche, was zusammenhängen könnte mit 777 angepasst.
Bemerke: Ich hab das im Netz gefunden und eben angepasst, da im Orginal ein paar Fehler angezeigt wurden.
Bemerke: Es gibt bereits eine File mit news-rss.xml – die wird aber nicht überschrieben.
Ist da irgendwo ein Fehler? Das PHP ist in der index.php eingebaut. Es kommt aber auch keine Fehlermeldung.
Bemerke: Ich hab das im Netz gefunden und eben angepasst, da im Orginal ein paar Fehler angezeigt wurden.
PHP-Code:
<?php function mkRSS () {
$filename="news-rss"; //ohne Extension
//die letzten 15 News werden aus Datenbank ausgewählt – sortiert nach Onlinestatus und Zeit
$sql="SELECT * FROM news Where online='Y' ORDER BY zeit desc LIMIT 0,15";
//DOCUMENT_ROOT
$siteRoot= substr_replace ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"],
"",strrpos ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"], "/")+1);
//Erzeugen des RSS-Inhaltes:
$rssHeader="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<rss version=\"0.91\">
<channel>
<title>Meineseite.xy News</title>
<description>Aktuelle News</description>
<language>de-de</language>
<link>http://www.meineseite.xy</link>
";
$rssFooter="</channel>
</rss>";
$dbLink = mysql_connect ('localhost', 'yyyy4', 'xxxxxxx');
$setdb = mysql_select_db('xxxxxxx',$dbLink);
$result=mysql_query($sql,$dbLink);
$content=$rssHeader;
while($row=mysql_fetch_array($result)){
$titelnews=substr ($row['title'], 0, 100); //Überschrift wird gezogen 100 Zeichen lang
$text=substr ($row['txt'], 0, 250); //Newstext – hier 250 Zeichen lang max.
$itemLink="http://www.meineseite.xy/news/"; //dies ist ein Link,
$content.="<item>
<title>".$titelnews."</title>
<description>".$text."</description>
<link>".$itemLink."</link>
</item>
";
}
$content.=$rssFooter;
//file wird geschrieben
$fh=fopen ($siteRoot.$filename.".rss", "w");
fputs ( $fh, $content);
fclose($fh);
//file wird umbenannt
rename ($siteRoot.$filename.".rss", $siteRoot.$filename.".xml");
return;
}
?>
Ist da irgendwo ein Fehler? Das PHP ist in der index.php eingebaut. Es kommt aber auch keine Fehlermeldung.
Kommentar