PHP xml rss keine item ausgabe
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktivierung
angeben
arg http
ausgabe
auslese
befinden
code
datei
deklaration
fehler
file
format
funktioniert code
gold
http
item
probier
quatsch
url
verzeichnis
-
Hallo ich habe folgenen Code der auf localhost wunderbar funktioniert (er gibt news im RSS Format aus) und jetzt keine Dateien mehr liest(also keine News mehr ausgibt):
echo '<?xml version="1.0" encoding="ISO-8859-1" ?><rss version="2.0" ><channel><title>CaptainE1221</title><link>http://captaine1221.tk</link><description>Dies sind die News vom Youtuber CaptainE1221</description><language>de-de</language><copyright>2008-2013 by Captaine1221</copyright></channel>'; $x = 0; $handle = opendir("news"); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $x++; } } while(file_exists("news/".$x.".txt")){ $news = file_get_contents("news/".$x.".txt"); $arg = explode("|",$news); echo "<item><title>".$arg[0]."</title><link>http://captaine1221.lima-city.de/?news</link><description>".$arg[1]."</description></item>"; $x--; } echo '</channel></rss>';
In den Verzeichnis news befinden sich datei von 1.txt,2txt,3.txt,...
Bei Fehler Aktivierung passiert nichts.
Die Datei die ich auslesen möchte sieht so aus:
Website Eröffnung|Die Website wurde erfolgreich eröffnet|22.07.2013
Was ist mein Fehler?
Beitrag zuletzt geändert: 23.7.2013 11:31:50 von captaine1221 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
als erstes speicher deine dateien als "UTF-8 ohne BOM" und zwar alle
dann in deinem Code die XML encoding Deklaration encoding="UTF-8" :
dein script funktioniert !
echo '<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0" ><channel><title>CaptainE1221</title><link>http://captaine1221.tk</link><description>Dies sind die News vom Youtuber CaptainE1221</description><language>de-de</language><copyright>2008-2013 by Captaine1221</copyright></channel>';
auch UTF-8 angeben, dann kannste dir den quatsch mit "ü" etc sparen.
in deinen "1.txt" schreibste dann ganz normal "ä" "ö" "ü" etc
und natürlich auch auf der Homepage
Gruss
Beitrag zuletzt geändert: 22.7.2013 16:58:40 von n0tiert -
gold richtiog @n0tiert ;)
... Was ist mein Fehler?
außer was schon notiert ist, hast du auch noch einen rss-strukturfehler. probier's mal so (hier zum sehen)<?php // czibere.lima-city.de/_forum/captaine1221/php-xml-rss-keine-item-ausgabe.php error_reporting(E_ALL | E_STRICT); $items = null; $eol = PHP_EOL; $sort = SCANDIR_SORT_DESCENDING; // SCANDIR_SORT_ASCENDING / ..._DESCENDING $dir = './news'; if(is_dir($dir)) { $files = scandir("./$dir", $sort); $fcount = count($files) - 2; for($i = 0; $i < $fcount; $i++) { $content = explode('|', trim($cnt = file_get_contents("./$dir/{$files[$i]}"))); $items .= <<< EOT <item> <title>{$content[0]}</title> <link>http://captaine1221.lima-city.de/?news</link> <description>{$content[1]}</description> </item>$eol EOT; } } else { $items = <<< EOT <item> <title>nothing here</title> <link>http://captaine1221.lima-city.de/?$dir</link> <description>nothing here :(</description> </item>$eol EOT; } exit(<<< EOT <?xml version="1.0" encoding="utf-8" ?> <rss version="2.0" > <channel> <title>CaptainE1221</title> <link>http://captaine1221.tk</link> <description>Dies sind die News vom Youtuber CaptainE1221</description> <language>de-de</language> <copyright>2008-2013 by Captaine1221</copyright> $items </channel> </rss> EOT );
Beitrag zuletzt geändert: 22.7.2013 23:10:25 von czibere -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage