Bonjour,
j'ai créé un fichier .php qui génère un "affiche rss".
Le code :
Il marche parfaitement dans mon logiciel RSSOwl ou dans firefox et IE !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <?php require ("../includes/connect.php"); $query = mysql_query("SELECT *,DATE_FORMAT(created, '%d/%m/%y %H:%i') AS creation FROM _news ORDER BY created DESC LIMIT 20"); // on selectionne les champs qui seront présents dans le RSS // on trie en ordre anté-chronologique, pour avoir l'article le plus récent au début // on décide de limiter à 20 le nombre de billets affichés while ($row = mysql_fetch_assoc($query)) { $items[] = $row; } // la date de l'item le plus récent nous donne la "date de fraicheur" du flux. $last_modified = date('r',$items[0]['timestamp']); // On a les infos nécessaires, construisons le flux : header('Last-Modified: ' . $last_modified); // ici on precise en header la date de derniere modification header('Content-Type: text/xml; charset="UTF-8"', true); // et on spécifie UTF-8 pour une compatibilité améliorée echo '<?xml version="1.0" encoding="UTF-8" ?>'."\n"; echo '<rss version="2.0"> <channel> <generator>Test</generator> <title>Test !</title> <link>Test</link> <description>Test</description> <language>fr</language> <lastBuildDate>'. $last_modified . '</lastBuildDate> <ttl>60</ttl>'."\n\n"; // on a envoye l'en-tête du fichier RSS, avec les champs essentiels. La variable $last_modified (date de l'item le plus récent), précise la "date de fraicheur" du flux entier. // on va maintenant envoyer chaque item foreach($items as $item) { echo '<item> <title>'.$item['title'].' - '.$item['news'].'</title> <link>http://www.serie-torrent.com/'.$item['url'].'</link> <guid isPermaLink="true">'.$item['url'].'</guid> <description>'.$item['creation'].' : '.$item['news'].'</description> <pubDate>'.$item['creation'].'</pubDate> <author>'.$item['createdby'].'</author> </item>'; /* au cas ou vos contenus ne sont pas en UTF-8, il est bien sur indispensable de les convertir, par exemple : <title>'.utf8_encode($item['title']).'</title> <description>'.utf8_encode($item['contenu']).'</description> */ } // et on termine le fichier echo '</channel>' . "\n" . '</rss>' . "\n"; ?>
Je voulais savoir comment il est possible de lier ce flux venant d'un fichier PHP au navigateur. J'ai chercher et je n'ai trouvé que ce bout de code qui permet de lier via un fichier xml, or je n'ai pas ce type de fichier qui se génère.
Merci d'avance pour votre aide, je débute et ai un peu de mal !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part <link rel="alternate" type="application/rss+xml" href="http://www.votresite.fr/rss.xml" title="Votre titre">![]()
Partager