Le Saint Bernard ^_^
ConnexionConnexion
Se connecter pour lire ses MPSe connecter pour lire ses MP

Aller à la page Précédente  1, 2, 3  Suivante
Poster un nouveau sujet  Répondre au sujet  
 
 Thread 
Message lmame le Sam Juin 23, 2007 20:59   Remonter
Répondre en citant  

S@turnin a écrit:
Merci lau c'est mieux Wink
il ne me reste plus que les smileys à stringer...Coool



Bon cool pour les [url] que tu aies trouvé Wink
Pour les smiley, c'est exactement pareil Very Happy
Code:
$texte=str_replace(":)","http://www.tonsite.com/images/sourire.gif",$texte);

Pas de miracle Smile

Je te demandais pour le PHP 5 car il y avait plus de commandes (notemment les "i" pour ne pas tenir compte des minuscules / majuscules.


Quand tu dis "ce n'est qu'en le travaillant en HTML que je l'obtiens", que veux tu dire par là?
Voir le profil de l'utilisateur Envoyer un message privé
Message S@turnin le Lun Juin 25, 2007 8:25   Remonter
Répondre en citant  

Merci lau

pour les smileys c'est fait j'avais trouvé l'astuce:)

Pour le Html en fait ca fontionne en ouvrant cette page:
http://www.mcci-moto.net/News/Rss/index.php
qui est un fichier html qui ouvre mon fichier flux.xml et l'affiche.

Mais la différence c'est que la concaténation de txt fonctionne et l'ffichage de la date aussi,
alors que quand je lis le flux direct et bien la concaténation ni le gras, italique... ne fonctionne et la date ne s'affiche pas...
Et là je nage complet....


Par contre si tu as une adresse pour un tit cours de php parce que google m'en sort des milliers mais bon il faut piocher partout Sad
Voir le profil de l'utilisateur Envoyer un message privé
Message lmame le Mer Juin 27, 2007 4:31   Remonter
Répondre en citant  

Je comprends pas ton problème en fait... Normalement le php ne lit pas le fichier xml pour l'afficher, c'est galère, mais le fichier php crée le xml dans ce cas ou même sans XML...

Si je prends ton code que tu as fait et qui donc lit la database pour créer un fichier XML sur le disque dur de ton hébergeur:
Code:
<html>
<head>
</head>
<body>
<?php

$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '<rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>MCCI : Moto Club de Cote d\'Ivoire</title>';
$xml .= '<link>http://www.mcci-moto.net/</link>';
$xml .= '<description>Flux RSS du Site Web du MCCI</description>';
$xml .= '<copyright>MCCI 2003-2007</copyright>';
$xml .= '<language>fr</language>';
$xml .= '<image>';
$xml .= ' <title>Flux RSS du MCCI</title>';
$xml .= ' <url>feed-icon-16x16.jpg</url>';
$xml .= ' <link>http://www.mcci-moto.net/</link>';
$xml .= '</image>';
$today= date("D, d M Y H:i:s +0000");
//date du jour d'execution du fichier PHP
$xml .= '<pubDate>'.$today.'</pubDate>';
require ('nonmaisfautpasdeconner.php');
// Faîtes appel à vos fichier de connection à votre base de donnée MySQL
// Adaptez ces lignes à votre base de données / noms de table
$resultat_requete=mysql_query("SELECT * FROM news_ ORDER BY id DESC limit 0, 10");
// extraction des 10 dernières nouvelles
while($lig=mysql_fetch_assoc($resultat_requete))
{
   $titre=$lig["titre"];
   $adresse=$lig["adresse"];
   $contenu=$lig["texte"];
   $date=$lig["date"];
   $id=$lig["id"];
   $datephp=date("D, d M Y H:i:s +0000", $date);
   $xml .= '<item>';
   $xml .= '<title>'.$titre.'</title>';
   $xml .= '<link>http://www.mcci-moto.net/Club_news.php</link>';
   $xml .= '<guid>'.$adresse.'</guid>';
   $xml .= '<pubDate>'.$date.'</pubDate>';
   $xml .= '<description>'.$contenu.'</description>';
   $xml .= '<id>'.$id.'</id>';
   $xml .= '</item>';
}//fin du while
$xml .= '</channel>';
$xml .= '</rss>';

$fp = fopen("fluxrss.xml", 'w+');
fputs($fp, $xml);
fclose($fp);

echo 'Export XML effectue !<br /><a href="fluxrss.xml">Voir
le fichier</a>';
?>

</body>
</html>


Ouais ça marche, mais c'est galère si tu dois relire le XML ensuite par un fichier PHP pour le remettre en forme (dans ce cas, regarde directement comment faire un fichier de style pour XML, XMLST de mémoire).


Ceci dit, PHP, dans sa grande générosité, PEUT sortir directement du XML, en fait il a une fonction qui avertit le navigateur internet (ou tout autre logiciel) de quelle type de données il va s'agir.
Par défaut il envoie des fichiers en HTML. C'est la fonction "header" qui fait ça. Là je lui dit qu'il devra générer non pas en en-tête HTML (header) mais XML:
Code:
<?php
header('Content-Type: text/xml');

La fonction header est à mettre AVANT toute fonction écrivant du texte (echo() par exemple).

Dans ce cas là c'est ton fichier php qui devient le xml, comme sur le Refuge où si tu regardes bien, les fichiers RSS ne sont pas en .xml mais en .php Smile

Donc pour ton exemple, ça donnerait (adapte le vu que tu as changé le code UTF8):

Code:
<?php
//on enverra du XML
header('Content-Type: text/xml');

$xml="";

$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '<rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>MCCI : Moto Club de Cote d\'Ivoire</title>';
$xml .= '<link>http://www.mcci-moto.net/</link>';
$xml .= '<description>Flux RSS du Site Web du MCCI</description>';
$xml .= '<copyright>MCCI 2003-2007</copyright>';
$xml .= '<language>fr</language>';
$xml .= '<image>';
$xml .= ' <title>Flux RSS du MCCI</title>';
$xml .= ' <url>feed-icon-16x16.jpg</url>';
$xml .= ' <link>http://www.mcci-moto.net/</link>';
$xml .= '</image>';
$today= date("D, d M Y H:i:s +0000");
//date du jour d'execution du fichier PHP
$xml .= '<pubDate>'.$today.'</pubDate>';
require ('nonmaisfautpasdeconner.php');
// Faîtes appel à vos fichier de connection à votre base de donnée MySQL
// Adaptez ces lignes à votre base de données / noms de table
$resultat_requete=mysql_query("SELECT * FROM news_ ORDER BY id DESC limit 0, 10");
// extraction des 10 dernières nouvelles
while($lig=mysql_fetch_assoc($resultat_requete))
{
   $titre=$lig["titre"];
   $adresse=$lig["adresse"];
   $contenu=$lig["texte"];
   $date=$lig["date"];
   $id=$lig["id"];
   $datephp=date("D, d M Y H:i:s +0000", $date);
   $xml .= '<item>';
   $xml .= '<title>'.$titre.'</title>';
   $xml .= '<link>http://www.mcci-moto.net/Club_news.php</link>';
   $xml .= '<guid>'.$adresse.'</guid>';
   $xml .= '<pubDate>'.$date.'</pubDate>';
   $xml .= '<description>'.$contenu.'</description>';
   $xml .= '<id>'.$id.'</id>';
   $xml .= '</item>';
}//fin du while
$xml .= '</channel>';
$xml .= '</rss>';

//on envoie le résultat à l'écran de l'internaute, PHP l'enverra en disant que c'est du XML
echo($xml);
?>


Et appelle ce fichier "news_rss.php" il sera utilisé par des internautes dans leur logiciel RSS.
Le PHP peut donc très bien générer du XML sans avoir besoin de l'enregistrer sur le disque dur, comme il peut dire que le script renvoie une image jpg (j'utilise ça pour les avatars dynamiques ou les panneaux).

Si tu veux qu'en cliquant sur un liens de ton site les internautes voient l'équivalent (les 10 dernières news), fais un AUTRE fichier php, qui, LUI, sortira du HTML:
Code:

<HTML>
<HEAD>
<TITLE>Les 10 dernières news</TITLE>
</HEAD>
<BODY>
<?php
$texte="";

$today= date("D, d M Y H:i:s +0000");
//date du jour d'execution du fichier PHP
$texte .= '<pubDate>'.$today.'</pubDate>';
require ('nonmaisfautpasdeconner.php');
// Faîtes appel à vos fichier de connection à votre base de donnée MySQL
// Adaptez ces lignes à votre base de données / noms de table

$resultat_requete=mysql_query("SELECT * FROM news_ ORDER BY id DESC limit 0, 10");
// extraction des 10 dernières nouvelles
while($lig=mysql_fetch_assoc($resultat_requete))
{
   $titre=$lig["titre"];
   $adresse=$lig["adresse"];
   $contenu=$lig["texte"];
   $date=$lig["date"];
   $id=$lig["id"];
   $datephp=date("D, d M Y H:i:s +0000", $date);
   
   //on affiche les news dans une table (une table par news)
   echo("<table>");
   
   //1ère ligne = titre
   echo("<tr><td>");
   echo($titre);
   echo("</td></tr>");
   
   //2ème ligne = contenu de la news
   echo("<tr><td>");
   echo($contenu);
   echo("</td></tr>");
   
   //3ème ligne = lien
   echo("<tr><td>");
   echo($adresse);
   echo("</td></tr>");
   
   echo("</table">);
   echo("<br />");
}//fin du while

?>
</BODY>
</HTML>


Genre "display_news.php" et que les gens pourront voir sur leur navigateur internet. Change les codes HTML pour rajouter du style (couleur etc...) et donc dans celui là pas besoin de XML.

Là du coup dans les deux tu peux utiliser les fonctions php pour remplacer, concaténer etc...
Voir le profil de l'utilisateur Envoyer un message privé
Message S@turnin le Mer Juin 27, 2007 14:49   Remonter
Répondre en citant  

Mmmmmm

C'est bien parceque je n'ai pas besoin de le mettre à jour puis qu'il le fait seul Wink

mais bon niveau sécurité je laisse mes logs à la portée de tous les petits malins Wink
je regarde ca et essai autres choses je crois avoir compris car je voulais concaténer.... directement le flux.xml Embarassed

Merci Lau (bcp bcp bcp Smile )
Voir le profil de l'utilisateur Envoyer un message privé
Message lmame le Mer Juin 27, 2007 16:35   Remonter
Répondre en citant  

Bof le fait de montrer ses sources n'est pas important dans le cadre d'un RSS... A part s'il contient une faille de sécurité et ce n'est pas le cas.

Le fait de générer un xml "pourrait" être utile dans le cas où ton site fait genre 10 000 visites uniques par jour ET qu'il n'est pas très souvent mis à jour, dans ce cas ça te fait des requêtes en moins, mais sinon, il n'y a pas beaucoup d'intérêt Smile
Voir le profil de l'utilisateur Envoyer un message privé
Message S@turnin le Mer Juin 27, 2007 17:16   Remonter
Répondre en citant  

On arrive à une news par jour voir 2 donc c'est pas encore The super site Wink

Sinon pour lire mon flux j'utilise ce fichier :
Code:

<html>
<head>
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.mcci-moto.net/">
<title>Flux RSS du Site Web du MCCI</title>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
   <meta name="robots" content="All"/>
   <meta name="keywords" content=""/>

<link rel="stylesheet" href="exemple.css" type="text/css"/>

</head>

<body>

<?
// Lecture d'un fichier XML
function lit_rss($fichier,$champs) {
   // on lit le fichier
   if($chaine = @implode("",@file($fichier))) {
      // on explode sur <item>
      $tmp = preg_split("/<\/?"."item".">/",$chaine);
      // pour chaque <item>
      for($i=1;$i<sizeof($tmp)-1;$i+=2)
         // on lit les champs demand? <champ>
         foreach($champs as $champ) {
            $tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
            // on ajoute au tableau
            $tmp3[$i-1][] = @$tmp2[1];
         }
      // et on retourne le tableau
      return $tmp3;
   }
}

$rss = lit_rss("fluxrss.xml",array("title","link","description","pubDate",));
// et on affiche...
foreach($rss as $tab) {
  echo '<div class="news_box">
           <a href="'.$tab[1].'"><div class="news_box_title">'.$tab[0].'</div></a>
           <div class="news_box_date">posté le '.date("d/m/Y",strtotime($tab[3])).'</div>
           '.substr($tab[2],0,280).' .....<br />
         </b></i></u><div align="right"><a href="'.$tab[1].'">Accédez à l\'article et aux commentaires</a></div>
        </div>';
}
?>

</body>
</html>


et c'est pas mal Wink mais je n'arrive pas à le faire passer en php style xml comme le dernier code que tu as posté Sad
Is it possible or not???
Voir le profil de l'utilisateur Envoyer un message privé
Message lmame le Mer Juin 27, 2007 17:27   Remonter
Répondre en citant  

Je confirme, tu es malade...

Alors je vais réexpliquer. Tu n'as pas besoin de faire ça, il n'y a aucun intérêt à faire ça, absolument aucun, récupère à chaque fois tes news dans ta base de données:
1°) ce sera plus facile à coder,
2°) ce sera plus simple à maintenir,
3°) tu ne perdras pas plus de temps,


D'autre part, au risque de me répéter, le tag <HTML> c'est pour le HTML, PAS pour le XML !!! et le RSS, c'est du XML !!!

Alors essaie de faire comme je t'ai montré dans le code au dessus avec "header" et directement depuis ta base de données au lieu d'essayer de faire des trucs bizarres Laughing
Voir le profil de l'utilisateur Envoyer un message privé
Message S@turnin le Mer Juin 27, 2007 18:14   Remonter
Répondre en citant  

Ok



Merci de confirmer pour ma maladie, mais je le savais déjà Razz Razz


Laughing


Merci Lau
Voir le profil de l'utilisateur Envoyer un message privé
Message lmame le Jeu Juin 28, 2007 0:29   Remonter
Répondre en citant  

Bah écoute je dis ça pour toi, essaie et tu verras que c'est plus simple... En plus tu n'auras pas de soucis de cache ou ce genre de chose enfin bon tu fais ce que tu veux Wink
Voir le profil de l'utilisateur Envoyer un message privé
Message S@turnin le Jeu Juin 28, 2007 8:21   Remonter
Répondre en citant  

lmame a écrit:
Bah écoute je dis ça pour toi, essaie et tu verras que c'est plus simple... En plus tu n'auras pas de soucis de cache ou ce genre de chose enfin bon tu fais ce que tu veux Wink



Oui j'ai bien compris la simplicité du trucs il faut donc que je m'y mette mais il me sort des erreurs, donc ce WE je boss dessus Smile
Voir le profil de l'utilisateur Envoyer un message privé
Message lmame le Ven Juin 29, 2007 1:23   Remonter
Répondre en citant  

Ok Smile
Voir le profil de l'utilisateur Envoyer un message privé
Message S@turnin le Sam Juin 30, 2007 12:30   Remonter
Répondre en citant  

C'est bon je me soigne Razz Razz


http://www.mcci-moto.net/News/Rss/

Et pour le flux Wink
http://www.mcci-moto.net/News/Rss/fluxrss.php
par contre avec ce dernier j'ai tjs un soucis au niveau de l'affichage de ladéte Sad


Bon WE
Voir le profil de l'utilisateur Envoyer un message privé
Message lmame le Dim Juil 01, 2007 9:00   Remonter
Répondre en citant  

Tu n'utilises pas le même code que pour la partie "affichage" php?
Voir le profil de l'utilisateur Envoyer un message privé
Message S@turnin le Lun Juil 02, 2007 9:11   Remonter
Répondre en citant  

Bah en fait quand je travaille sur mon fichier xml ,et que je veux le mettre en forme il me sort plein d'erreurs alors j'ai un peu abandonné le truc Sad

Et ca donne ca :
http://www.mcci-moto.net/News/Rss/indexflux.php

Et la je rame a fdon Sad

Si tu as une idée je t'envoi les 3 fichiers par mail

Mici
Voir le profil de l'utilisateur Envoyer un message privé
Message lmame le Lun Juil 02, 2007 20:26   Remonter
Répondre en citant  

Tu mets du code HTML brut dans ton XML toi? Ah là là là là... Rolling Eyes je regarderai demain si j'ai le temps...
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:

Poster un nouveau sujet Répondre au sujet  
 
Aller à la page Précédente  1, 2, 3  Suivante