Mettre des images dans un flux RSS

Eléphant du PHP | 117 Messages

09 déc. 2008, 19:57

Salut tout le monde, j'ai regardé sur le net pour pouvoir mettre des images dans mon flux RSS.
Je vends des produits en ligne donc pour moi la photo est primordiale, j'ai vu sur le net qu'on pouvait mettre des images dans les flux RSS pourtant j'ai bien fait comme c'était indiqué, mon flux RSS est bien généré mais mon image n'apparait pas ...

Voici le code XML le mon flux (une partie seulement, un item) :
<item>
            <title>Photographie d Art Mer du Nord : 69.00 €</title>
            <link>http://www.monsite.fr/photographie-d-art-mer-du-nord</link>
            <guid isPermaLink='false'>952</guid>
            <description>Les cabanes de plage de la côte belge et de la côte d’Opale sont sauvages. Battues par le vent du Nord, on aime s’y réfugier la peau piquante de sel, ou bien y retrouver ses souvenirs de plage des années passées. Laurent Mayeux vous livre une de ses séries les plus rêveuses et poétiques.</description>
            <pubDate>Mon, 24 Nov 2008 23:43:34 GMT</pubDate>
            <image><url>http://www.monsite.fr/images/produits/952_Vd5MSSaHTYkG5DWM382kL1001171 (Large).jpg</url><link>http://www.monsite.fr/photographie-d-art-mer-du-nord</link></image>
        </item>
Voila une partie du flux qui est généré mais pourtant l'image n'apparait pas.
Quelqu'un a t-il une idée ?

Merci d'avance.

Mammouth du PHP | 2937 Messages

09 déc. 2008, 20:10

Code : Tout sélectionner

<image><url>http://www.monsite.fr/images/produits/952_Vd5MSSaHTYkG5DWM382kL1001171 (Large).jpg</url></image>
Il y a une espace dans l'URL. Autrement dit, n'oublie pas de coder les caractères spéciaux (urlencode() le fait très bien) :

Code : Tout sélectionner

<image><url>http://www.monsite.fr/images/produits/952_Vd5MSSaHTYkG5DWM382kL1001171%20(Large).jpg</url></image>

Eléphant du PHP | 117 Messages

09 déc. 2008, 21:25

J'ai réglé le problème des url des images, il n y a plus d'espace dans le lien par contre ça ne fonctionne toujours pas...

Mammouth du PHP | 2937 Messages

09 déc. 2008, 23:14

L'URL est-elle correcte (génère-t-elle une erreur 404) ?

Pour l'affichage du flux RSS, est-ce que tu récupères l'URL en question en parcourant l'arborescence ?

Avec le code suivant :
$xml = simplexml_load_file ('ton-flux-rss.xml');
$channel = $xml -> channel;
$item = $channel -> item;
echo '<ul>';
foreach ($item as $valeur)
{
  echo '<li><img src="'.((string) $valeur -> image -> url).'" alt="" /></li>';
}
echo '</ul>';
qu'est-ce que ça donne ?

ViPHP
ViPHP | 3607 Messages

09 déc. 2008, 23:56

Sinon tu peux analyser par exemple ce fil rss: http://www.siteduzero.com/Templates/xml/news_fr.xml
où il se trouve des images...

Eléphant du PHP | 117 Messages

10 déc. 2008, 19:54

Alors voici mon code généré
<image><url>http://www.monsite.fr/images/952_4kTV9ObYESQ1B2G72C7H.jpg</url><link>http://www.monsite.fr/photographie-d-art-mer-du-nord</link></image>
J'ai regardé le site du zero et c'est exactement la même chose, la seule différence c'est que mon fichier a l'extension .rss et eux c'est un .xml
Ca peut changer quelque chose ?

Mammouth du PHP | 2937 Messages

10 déc. 2008, 19:57

Normalement, l'extension ne doit pas poser problème. L'essentiel est que le type MIME envoyé soit bien application/rss+xml.

Eléphant du PHP | 117 Messages

10 déc. 2008, 20:00

Voici l'entête de mon flux rss :
<?xml version='1.0' encoding='ISO-8859-1'?>
<rss version='2.0'>[