Tuto PHP - Créer un Flux RSS


Vous avez envie de proposer à vos internautes d'avoir accès à un Flux RSS ? Voici un petit tuto qui vous montrera comment réaliser ça en PHP !

  • rss.php :
<?php
header('Content-Type: application/rss+xml');
$bdd = new PDO('mysql:host=127.0.0.1;dbname=flux_rss;charset=utf8','root','');
$articles = $bdd->query('SELECT * FROM articles ORDER BY date_time_post DESC LIMIT 0,25');
$lastBuildDate = $bdd->query('SELECT date_time_post FROM articles ORDER BY date_time_post DESC LIMIT 0,1');
$lastBuildDate = $lastBuildDate->fetch()['date_time_post'];
?>
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>Example.org</title>
        <description>Ceci est un exemple de flux RSS 2.0</description>
        <lastBuildDate><?= date(DATE_RSS, strtotime($lastBuildDate)) ?></lastBuildDate>
        <link>http://www.example.org</link>
        <?php while($a = $articles->fetch()) { ?>
        <item>
            <title><?= $a['titre'] ?></title>
            <description><?= substr($a['contenu'], 0, 1000).'...' ?></description>
            <pubDate><?= date(DATE_RSS, strtotime($a['date_time_post'])) ?></pubDate>
            <link>http://www.example.org/?id=<?= $a['id'] ?></link>
            <image>
               <url>http://www.example.org/miniatures/<?= $a['id'] ?>.jpg</url>
               <link>http://www.example.org/?id=<?= $a['id'] ?></link>
            </image>
        </item>
        <?php } ?>
    </channel>
</rss>
  • .htaccess (si vous souhaitez remplacer rss.php par rss.xml dans l'URL) :
RewriteEngine on
RewriteRule ^rss.xml$ /chemin/vers/rss.php [L]
Le chemin vers le fichier rss.php doit se faire après le 127.0.0.1. Par exemple, si rss.php est dans le dossier "test" puis "rss", vous écrirez /test/rss/rss.php. Vérifiez également que mod_rewrite soit bien actif dans vos modules Apache, et évitez les espaces dans les noms de fichiers et dossiers qui pourraient faire bugger la réécriture d'URL 😉

A propos de l'auteur

PrimFX
PrimFX

Salut tout le monde ! Je m'appelle Boris, j'ai 18 ans et je suis passionné d'informatique et de technologie. Je partage cette passion à travers mes vidéos que tu peux retrouver sur YouTube sous le nom de PrimFX ou bien sur ce site bien sûr (tutoriels de programmation (HTML, CSS, PHP), gameplays, vlogs high-tech...). @+

A voir aussi

5 Commentaires

POSTER UN COMMENTAIRE

Vous devez être connecté pour pouvoir poster un commentaire...

Pas encore de compte ? Créez-en un ici !



  • Photo de profil de ToutPax

    ToutPax

    26 June 2016 à 14:20

    pour les personnes qui aurait un problème avec le fichier .htaccess quand vous enregistre le fichier sur windows il faut mettre entre guillemets le nom comme ça : ".htaccess"

  • Photo de profil de max33530

    max33530

    26 June 2016 à 18:02

    Moi j'ai un petit soucis. Il ne ma stylise pas la page, il m'affiche le code xml. Quelqu'un aurait une solution ?

  • Photo de profil de ToutPax

    ToutPax

    27 June 2016 à 09:51

    @max33530 salut alors sois tu va sur le navigateur Mozilla est c'est styliser de base ou tes sur chrome et tu installe l'extension rss : https://chrome.google.com/webstore/detail/rss-subscription-extensio/nlbjncdgjeocebhnmkbbbdekmmmcbfjd

    si tes sur un autre navigateur je pense qu'il doit y avoir un extension semblable à l'autre

  • Photo de profil de jbdfjojo

    jbdfjojo

    29 June 2016 à 15:01

    j'ai le meme probleme que @max33530 ca me le stylise pas

    http://www.hostingpics.net/viewer.php?id=437509notrss.png

  • Photo de profil de fmotsch

    fmotsch

    18 September 2017 à 07:42

    @jbdfjojo J'ai eu le même problême. En comparant avec le fichier de PrimFX, j'ai découvert qu'il ne faut pas mettre d'espaces dans le fichier. Surtout avant la ligne :

    <?xml version="1.0" encoding="UTF-8"?>.

    Après firefox fait le travail...

    En espérant que cela a pu en aider certain...