php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > XML
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-02-2006, 15:19
dreman
 Registrierter Benutzer
Links : Onlinestatus : dreman ist offline
Registriert seit: May 2005
Beiträge: 139
dreman ist zur Zeit noch ein unbeschriebenes Blatt
Standard dynamisches RSS anbieten - Probleme

Hallo,

ich möchte eine RSS-Feed (XML) anbieten...
Das Script soll ein paar Sachen auf der DB holen und in die XML-Datei schreiben....

Wenn ich aber http://www.domain.de/rss.xml aufrufe sehe ich den PHP-Code inklusive dem restlichen Text...!
Der PHP code wird irgendwie nicht ausgewertet...(geparsed)

Datei: rss.xml

PHP-Code:
<?php
header
("Content-type: application/xml");

echo 
"<?xml version='1.0' encoding='iso-8859-1' ?>
<rss version='2.0'>
<channel>
<title>titel</title>
<description>beschreibung</description>
<link>link-url</link>
<language>de</language>"
;

<?
php
    
include "sqldata.php";
    
mysql_connect($sqlhost,$sqluser,$sqlpass) or die ("Keine Verbindung zur SQL-Datenbank!");
    
mysql_seect_db($sqldb) or die ("SQL-Datenbank wurde nicht gefunden!");

    
$query "SELECT * from news ORDER BY datum desc LIMIT 0,4";
    
$result mysql_query($query) or die (mysql_error()); 
    
$max=mysql_num_rows($result);

    for(
$i=0;$i<$max;$i++){
        
$datum=mysql_result($result,$i,"datum");
        
$title=mysql_result($result,$i,"title");
        
$text=mysql_result($result,$i,"text");
        
$autor=mysql_result($result,$i,"autor");
        
$web=mysql_result($result,$i,"web");

        
$title=htmlspecialchars($title);
        
$text=htmlspecialchars($text);
    
        echo 
"<item>";
            echo 
"<title>$title</title>";
            echo 
"<link>$web</link>";
            echo 
"<guid>$web</guid>";
            echo 
"<pubDate>$datum</pubDate>";
            echo 
"<description>[CDATA[$text]]</description>";
        echo 
"</item>"
    }
?>
</channel>
</rss>
Datei: .htaccess (damit die xml-Datei als PHP geparsed wird)

Code:
AddType application/x-httpd-php .php .xml
Kriege die Sachen nicht zum laufen...
Kann mir jemand einen Tip geben?

danke,
dreman

Geändert von dreman (08-02-2006 um 15:23 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 08-02-2006, 15:53
piep83
 Junior Member
Links : Onlinestatus : piep83 ist offline
Registriert seit: Jan 2006
Beiträge: 116
piep83 ist zur Zeit noch ein unbeschriebenes Blatt
piep83 eine Nachricht über ICQ schicken
Standard

hallo dreman,

schreib doch die benötigten Daten einfach in eine TXT-Datei


PHP-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="0.91">
<channel>

<title></title>
<link></link>
<language></language>

Daten aus DB auslesen

</channel>
</rss>
und ändere die Dateiendung auf XML.
Mit Zitat antworten
  #3 (permalink)  
Alt 08-02-2006, 16:42
dreman
 Registrierter Benutzer
Links : Onlinestatus : dreman ist offline
Registriert seit: May 2005
Beiträge: 139
dreman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi,

danke für den Hinweis:

Datei: rss2.php

PHP-Code:
<?php
header
("Content-Type: application/rss+xml"); 
echo 
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>";
?>

<rss version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="rss-2_0.xsd">
    <channel>
        <title>text.de Aktuelle Projekte</title>
        <link>[url]http://www.text.de/[/url]</link>
        <description>Beschreibung</description>
        <language>de-de</language>

        <copyright>test</copyright>
        <pubDate>Tue, 24 Jan 2006 15:00:00 EST</pubDate>
        <lastBuildDate>Tue, 24 Jan 2006 15:00:00 EST</lastBuildDate>
        <docs>[url]http://www.text.de[/url]</docs>
        <generator></generator>
        <managingEditor>info@text.de</managingEditor>
        <webMaster>info@text.de</webMaster>
        <image>
            <url>[url]http://www.text.de/img/logo.jpg[/url]</url>
            <title>SG-Logo</title>
            <link>[url]http://www.text.de/[/url]</link>
            <width>144</width>
            <height>100</height>
            <description>Logo</description>
        </image>


<?php
    
include "sqldata.php";
    
mysql_connect($sqlhost,$sqluser,$sqlpass) or die ("Keine Verbindung zur SQL-Datenbank!");
    
mysql_select_db($sqldb) or die ("SQL-Datenbank wurde nicht gefunden!");

    
$query "SELECT * from sg_news ORDER BY datum desc LIMIT 0,4";
    
$result mysql_query($query) or die (mysql_error()); 
    
$max=mysql_num_rows($result);

    for(
$i=0;$i<$max;$i++){
        
$datum=mysql_result($result,$i,"datum");
        
$title=mysql_result($result,$i,"title");
        
$text.de=mysql_result($result,$i,"text");
        
$autor=mysql_result($result,$i,"autor");
        
$web=mysql_result($result,$i,"web");

        
$title=htmlspecialchars($title);
        
$text=htmlspecialchars($text);
        
        if(
$web == ""){
            
$web="http://www.text.de";
        }    

        echo 
"<item>";
            echo 
"<title>$title</title>";
            echo 
"<link>$web</link>";
            echo 
"<guid>$web</guid>";
            echo 
"<pubDate>Tue, 24 Jan 2006 15:00:00 EST</pubDate>";
            echo 
"<description>$text.de</description>";
        echo 
"</item>"
    }
?>

    </channel>
</rss>
Diese Datei ist laut feedvalidator.org "Valid".
Habe das Feed bereits mit einem Feed-Reader getestet... Läuft...

ABER
Die Datei soll "rss2.xml" heißen...
Wie geht das?

Wenn ich die Datei in ".xml" umbenenne, dann geht nix mehr...
Sowohl in FeedReader noch wenn ich auf die XML-Datei zugreife über einen Browser....

Was mach ich falsch?

Gruss+Danke für Hilfe,
dreman
Mit Zitat antworten
  #4 (permalink)  
Alt 08-02-2006, 18:58
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

RSS-Feeds werden i.d.R. zyklisch von Feedreadern abgeholt und zwar ziemlich oft. Wenn sich dein Feedinhalt sehr oft (im Stundentakt) ändert, kannst du deinem Server (am besten über die .htaccess) sagen, er soll die Datei rss.xml als PHP parsen.

Falls sich dein Feed nicht so oft ändert, du aber bei jedem Request das Script durchnudeln läßt, ist das Resourcenverschwendung. Dann böte sich ein Cronjob an, der eine generate_feed.php startet. Diese überschreibt dann rss.xml durch das neue Feed.
Für außerplanmäßige Updates kannst du generate_feed.php einfach manuell aufrufen.

(Übrigens kann man in RSS-Feeds auch ansagen, wie oft sich der Content ändert. Ordentliche Reader bieten dem User die Option, das zu berücksichtigen und eben nicht öfter als angegeben abzuholen.

Nochwas: Es gibt haufenweise RSS-Klassen, mir fällt zwar jetzt nur noch Magpie ein, aber bestimmt gibts haufenweise. )
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:29 Uhr.