Accueil > > > [PHP5][CLASSE] GÉNÉRATION DE FLUX RSS 2.0
[PHP5][CLASSE] GÉNÉRATION DE FLUX RSS 2.0
Information sur la source
Description
Ce package de classes PHP5 permet de générer des flux RSS simples ou complexes. Il gère tous les tags possibles d'un flux RSS 2.0. Le package est composé de 5 classes : abstract RSSFeedTools (outils de validation des informations) abstract RSSFeedBase (classe permettant de partager les attributs / méthodes communs d'un flux et d'un item) concrete RSSFeed (classe permettant d'instancier un nouveau flux RSS, dérive de RSSFeedBase) concrete RSSFeedItem (classe permettant de construire un item de flux, dérive de RSSFeedBase) concrete RSSFeedException (classe d'exception dérivant d'Exception) De plus, j'ai rédigé une documentation complète (en anglais) et mis à disposition deux fichiers d'exemples. Ci-dessous, un exemple de flux basique
Source
- <?php
-
- // Import the RSSFeed class
- require_once('path/to/RSSFeed/RSSFeed.class.php');
-
- // MySQL Connection
- $connection = mysql_connect('localhost','root','example');
- mysql_select_db('website', $connection);
-
- try
- {
- // Create the new instance of the RSS Feed
- $rssFeed = new RSSFeed('utf-8');
- // Activate the string protection
- $rssFeed->setProtectString(true);
- // Set the feed title
- $rssFeed->setTitle('My blog : the best in the world');
- // Set the feed description
- $rssFeed->setDescription('A little blog, which talks about Web programming');
- // Set the feed link
- $rssFeed->setLink('http://www.mywebsite.com/blog/rss/posts.php');
- // Set the feed publication date
- $rssFeed->setPubDate('2007-08-01');
- // Set the feed last build date
- $rssFeed->setLastBuildDate(date('Y-m-d'));
- // Set the feed webmaster
- $rssFeed->setWebMaster('me@mywebsite.com','John Doe');
- // Set the feed managing editor
- $rssFeed->setManagingEditor('me@mywebsite.com','John Doe');
- // Set the feed image
- $rssFeed->setImage('http://www.mywebsite.com/image/logo.jpg','My Logo','My blog',100,200);
-
- // Adding items
- $request = mysql_query('SELECT post_id, post_title, post_description, post_author_email, post_author_name, post_date FROM post WHERE post_valid=1 LIMIT 10');
-
- while($row = mysql_fetch_object($request))
- {
- // Creating a new feed item
- $rssItem = new RSSFeedItem();
- $rssItem->setTitle($row->post_title);
- $rssItem->setDescription($row->post_description);
- $rssItem->setLink('http://www.mywebsite.com/blog/post.php?id='. $row->post_id);
- $rssItem->setGuid('http://www.mywebsite.com/blog/post.php?id='. $row->post_id, true);
- $rssItem->setComments('http://www.mywebsite.com/blog/post.php?id='. $row->post_id .'#comments');
- $rssItem->setAuthor($row->post_author_email, $row->post_author_name);
- $rssItem->setPubDate($row->post_date);
-
- // Add the item to the feed
- $rssFeed->appendItem($rssItem);
- }
-
- // Save the feed
- $rssFeed->save();
-
- // SQL connection closing
- mysql_close();
-
- // Send headers to the browser
- header('Content-Type: text/xml; charset=utf-8');
- // Display the feed
- $rssFeed->display();
- }
- catch(RSSFeedException $e)
- {
- echo $e->getErrorMessage();
- }
- ?>
<?php
// Import the RSSFeed class
require_once('path/to/RSSFeed/RSSFeed.class.php');
// MySQL Connection
$connection = mysql_connect('localhost','root','example');
mysql_select_db('website', $connection);
try
{
// Create the new instance of the RSS Feed
$rssFeed = new RSSFeed('utf-8');
// Activate the string protection
$rssFeed->setProtectString(true);
// Set the feed title
$rssFeed->setTitle('My blog : the best in the world');
// Set the feed description
$rssFeed->setDescription('A little blog, which talks about Web programming');
// Set the feed link
$rssFeed->setLink('http://www.mywebsite.com/blog/rss/posts.php');
// Set the feed publication date
$rssFeed->setPubDate('2007-08-01');
// Set the feed last build date
$rssFeed->setLastBuildDate(date('Y-m-d'));
// Set the feed webmaster
$rssFeed->setWebMaster('me@mywebsite.com','John Doe');
// Set the feed managing editor
$rssFeed->setManagingEditor('me@mywebsite.com','John Doe');
// Set the feed image
$rssFeed->setImage('http://www.mywebsite.com/image/logo.jpg','My Logo','My blog',100,200);
// Adding items
$request = mysql_query('SELECT post_id, post_title, post_description, post_author_email, post_author_name, post_date FROM post WHERE post_valid=1 LIMIT 10');
while($row = mysql_fetch_object($request))
{
// Creating a new feed item
$rssItem = new RSSFeedItem();
$rssItem->setTitle($row->post_title);
$rssItem->setDescription($row->post_description);
$rssItem->setLink('http://www.mywebsite.com/blog/post.php?id='. $row->post_id);
$rssItem->setGuid('http://www.mywebsite.com/blog/post.php?id='. $row->post_id, true);
$rssItem->setComments('http://www.mywebsite.com/blog/post.php?id='. $row->post_id .'#comments');
$rssItem->setAuthor($row->post_author_email, $row->post_author_name);
$rssItem->setPubDate($row->post_date);
// Add the item to the feed
$rssFeed->appendItem($rssItem);
}
// Save the feed
$rssFeed->save();
// SQL connection closing
mysql_close();
// Send headers to the browser
header('Content-Type: text/xml; charset=utf-8');
// Display the feed
$rssFeed->display();
}
catch(RSSFeedException $e)
{
echo $e->getErrorMessage();
}
?>
Conclusion
Le reste est dans le ZIP ^^
Nécessite bien évidemment un serveur PHP5.
Documentation en ligne à cette adresse : http://www.apprendre-php.com/downloads/RSSFeed/doc umentation/index.html
Historique
- 16 septembre 2007 21:57:03 :
- Mise à jour du zip -> mauvais exemple fourni.
- 16 septembre 2007 22:01:32 :
- Erreur corrigée dans les exemples
- 16 septembre 2007 22:10:24 :
- Correction d'une erreur dans la documentation
- 17 septembre 2007 13:51:14 :
- Correction d'une erreur dans l'exemple donné
- 25 octobre 2007 12:25:31 :
- Mise à jour du lien vers la documentation qui a changé entre temps.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Recherche de flux xml ou/et rss de prog tv sportif [ par bobganjx ]
Pauvre de moi en stage, exploité par un employeur sans scrupule qui me paye pas (c'est beaux les études) ;<font color="#800080"
flux rss [ par atchoumen ]
Bonjour,je suis en train de mettre un flux rss en place sur mon site et je me retrouve face à un problème bizarre. Lorsque je fais une requete sans co
widget+rss+php [ par lsamsoumal ]
Bonjour tt le monde: j'ai un code php qui génére un fichier xml contenant des flux rss.Maintenant je veut developper un widget qui récupére les flux r
widget avec flux rss [ par pandouta08 ]
j'ai un code php d'un générateur d'un fichier xml contenant un ensemble de lien et j'ai un widget yahoo que j'ai créé ,je veux que mon widget yahoo af
flux rss [ par mahamourta ]
bonsoir tout le monde je veux installer un flux rss sur mon site web . J'ai reussi a avoir un code dans mon fichier xml ,mais je n'arrive pas a l'exp
GESTION FLUX RSS [ par Larffas69 ]
Bonjour à tous, Quelqu'un saurait-il qu'elle expression html il faut pour afficher une image provenant de la balise d’un flux RSS ? [code=htm
insertion des flux RSS dans des pages php [ par hadjiphp ]
Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie.je suis entrain de créer un site web en php, et je souhai
Flux RSS [ par hadjiphp ]
Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : comment je peut insérer u
Un flux rss avec une image? (magpierss) [ par rnrr ]
Bonjour, j'utilise magpierss pour afficher mes flux rss mais la je doit afficher des images dans mes flux rss. Comment faire? Est-ce fesable avec magp
mise en page du flux rss avec du css [ par New_World ]
bonjour tous le monde, SVP j'ai un petit soucis avec mon flux rss j'essaye de le mettre en forme avec du css mais aparement il reconait pas mon CSS sa
|
Derniers Blogs
[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7 par Audrey
Lors de la réalisation de ma 2ème application Windows Phone 7, j'ai souhaité utiliser un WrapPanel pour afficher plusieurs photos. Mais le contrôle WrapPanel ne fait pas parti de la liste des contrôles inclus dans le SDK de la version Beta des outils pour...
Cliquez pour lire la suite de l'article par Audrey [WP7] BESOIN D'AVOIR DES DONNéES EN CACHE[WP7] BESOIN D'AVOIR DES DONNéES EN CACHE par Nicolas
Les développeurs ASP.NET ont l'habitude de mettre des données en cache pour éviter de requêter a chaque fois la base de données. Et il est toujours utilie de penser que vos utilisateurs mobiles n'ont pas troujours une super connexion 3G/WIFI et un for...
Cliquez pour lire la suite de l'article par Nicolas [TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION[TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION par cyril
Lorsque l'on créé un Work Item dans TFS, il est possible de le classer dans un "area" et dans une "iteration". Dans la plupart des types de projet, un "area" correspond à une catégorie, une "iteration" à un numéro de version. Il est possible de cré...
Cliquez pour lire la suite de l'article par cyril SQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULLSQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULL par coq
Les fonctions d'agrégation comme MIN et MAX ignorent les valeurs NULL présentes dans le jeu de données sur lequel porte leur calcul, d'où le fameux message d'avertissement : Warning: Null value is eliminated by an aggregate or other SET operation...
Cliquez pour lire la suite de l'article par coq VOTEZ POUR WARNYGOVOTEZ POUR WARNYGO par Nicolas
La vidéo du projet Warnygo est disponible sur facebook et attend vos votes ! Pour rappel: Warnygo est une application Windows Phone 7 qui permet d'alerter tous utilisateurs inscrits qui se trouve dans la zone où se passe l'...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
sDEVIS-FACTURES vlPRO (3.8.0)SDEVIS-FACTURES VLPRO (3.8.0)sDEVIS-FACTURES vlPRO a été mis au point pour permettre besoins des particuliers, créateurs, entr... Cliquez pour télécharger sDEVIS-FACTURES vlPRO LettresFaciles (5.6.0)LETTRESFACILES (5.6.0)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles MyPlanning 2010 (5.6.0)MYPLANNING 2010 (5.6.0)MyPlanning 2010 permet de créer des plannings sous la représentation de diagrammes. Plannings pré... Cliquez pour télécharger MyPlanning 2010 Emicsoft Mac DVD en iPad Convertisseur (3.1.16)EMICSOFT MAC DVD EN IPAD CONVERTISSEUR (3.1.16)Emicsoft Mac DVD en iPad Convertisseur, logiciel professionnel de convertir les fichiers DVD en i... Cliquez pour télécharger Emicsoft Mac DVD en iPad Convertisseur Emicsoft ipad ménager pour mac (3.1.08)EMICSOFT IPAD MéNAGER POUR MAC (3.1.08)Emicsoft ipad ménager pour mac est spécialement conçu pour les utilisateurs Mac pour copier des f... Cliquez pour télécharger Emicsoft ipad ménager pour mac
|