IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lier une page à un flux rss .php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Par défaut Lier une page à un flux rss .php
    Bonjour,

    j'ai créé un fichier .php qui génère un "affiche rss".

    Le code :
    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";
    ?>
    Il marche parfaitement dans mon logiciel RSSOwl ou dans firefox et IE !
    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.

    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">
    Merci d'avance pour votre aide, je débute et ai un peu de mal !!!

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonjour,

    Au sein de ta génération de flux rss, tu spécifie bien un content-type de type xml.

    Donc le retour de ton php sera un fichier xml.

    A mon avis rien n'empèche de spécifier un lien vers un fichier php du type :
    http://www.votresite.fr/creationdemonfluxrss.php

    A tester

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Par défaut
    Effectivement ça marche !

    En fait j'ai un header.php en include dans ma pages.

    Quand je met le code dans le header.php ca ne marche pas.
    Par contre quand je le met directement dans le <head></head> de la page ca marche

    Merci, je vais essayer de creuser mon problème !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Par défaut
    J'ai rajouté
    les balises <head> </head> au début et à la fin de mon fichier header.php et ça marche sur toutes mes pages !

    Merci @ toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment lier une page aspx au site sharepoint
    Par mimosa803 dans le forum SharePoint
    Réponses: 1
    Dernier message: 07/02/2008, 20h27
  2. Réponses: 4
    Dernier message: 24/08/2007, 15h56
  3. recharger une page dans du code php
    Par pas30 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/05/2007, 08h38
  4. [Upload] Une page d'upload en PHP
    Par punisher999 dans le forum Langage
    Réponses: 4
    Dernier message: 26/12/2006, 22h59
  5. Flux rss : .php vers .xml
    Par cybertj dans le forum Apache
    Réponses: 2
    Dernier message: 14/11/2006, 23h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo