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 😉
5 Commentaires
POSTER UN COMMENTAIRE
Vous devez être connecté pour pouvoir poster un commentaire...
Pas encore de compte ? Créez-en un ici !
ToutPax
26 June 2016 à 14:20pour 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"
max33530
26 June 2016 à 18:02Moi j'ai un petit soucis. Il ne ma stylise pas la page, il m'affiche le code xml. Quelqu'un aurait une solution ?
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
jbdfjojo
29 June 2016 à 15:01j'ai le meme probleme que @max33530 ca me le stylise pas
http://www.hostingpics.net/viewer.php?id=437509notrss.png
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...