Tuto PHP - Créer un Flux RSS

PrimFX Boris ('PrimFX') Le 26 juin 2016

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
Boris ('PrimFX')

Je m'appelle Boris, j'ai 22 ans et je suis passionné d'informatique. Suite à mes études (Licence Informatique puis MSc Computer Science au Trinity College Dublin), je gère l'entreprise Single Quote co-fondée en 2019 et je profite de mon temps libre pour partager ma passion à travers des vidéos & articles 😃

Votre commentaire

Vous devez être connecté pour poster un commentaire. Se connecter ou Créer un compte

Commentaires 5

  • fmotsch Le 18 septembre, à 07:42 | Répondre

    @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...

  • jbdfjojo Le 29 juin, à 15:01 | Répondre

    j'ai le meme probleme que @max33530 ca me le stylise pas
    http://www.hostingpics.net/viewer.php?id=437509notrss.png

  • Johan-Krn Le 27 juin, à 09:51 | Répondre

    @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

  • max33530 Le 26 juin, à 18:02 | Répondre

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

  • Johan-Krn Le 26 juin, à 14:20 | Répondre

    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"