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
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

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


 

Aktuelle PHP Scripte

Formmailer v1.7.0 Bootstrap 4

Formmailer v1.7.0 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

16.04.2020 arne-home | Kategorie: PHP/ Formular
Upload v1.1.0 Bootstrap

Mit dem PHP - Uploadscript kann man schnell und einfach Bilder und Dateien auf den Webserver hochladen.

16.04.2020 arne-home | Kategorie: PHP/ File
Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:15 Uhr.