RSS et PHP4

RSS et PHP4 - PHP - Programmation

Marsh Posté le 22-05-2007 à 15:34:53    

Bonjour tout le monde, je cherche à récupérer un flux RSS et à n'afficher que le titre, le lien et la date.
J'ai trouvé plein de script qui font ça mais j'ai toujours la même erreur à l'appelle de la fonction file() de PHP4 :
URL file-access is disabled in the server configuration
Ca vient d'une config de sécurité sur le serveur qui empêche d'assimiler une URL à un fichier et donc de l'ouvrir, mais cette config est-elle la seule solution pour faire un agrégateur RSS ou y a t il une autre solution ?
Merci ;)

Reply

Marsh Posté le 22-05-2007 à 15:34:53   

Reply

Marsh Posté le 22-05-2007 à 16:18:05    

S'ils ont bloqué l'accés distant aux fichiers alors ils ont surement également bloqué l'accés aux conections réseaux de bas niveau. Dans le doute, tu peux toujours essayer de récupérer ton fichier avec une "socket" ( http://fr3.php.net/manual/fr/ref.sockets.php ) mais ca veut dire qu'il faut que tu implémentes toi même une partie du protocole http (la RFC 2616 décrit la norme de l' "http/1.1": http://abcdrfc.free.fr/rfc-vf/rfc2616.htm ) a moins que t'arrive à trouver un script php qui le fasse déjà.
 
Personellement je ne vois pas d'autres solutions.

Reply

Marsh Posté le 22-05-2007 à 16:37:10    

beuarg .... je m'en doutais !!!!  :cry:
euh partir dans le codage de socket comme ça ... ça m'enchante pas des masses ! :sweat:
est-ce que DOMXML permet de faire ça différement ou est-ce que ça revient au même ?

Reply

Marsh Posté le 22-05-2007 à 17:12:22    

KahL a écrit :

euh partir dans le codage de socket comme ça ... ça m'enchante pas des masses !

y'a plein d'exemple sur la toile
mais avant de te lancer vérifie que les fonctions correspondantes ne sont pas désactivées

Reply

Marsh Posté le 22-05-2007 à 17:19:33    

le probleme c'est que je n'ai malheureusement pas le temps que je voudrais pour faire ça ... je vais regarder tout de même pour info ^^
merci à vous 2 pour l'aide en tout cas ;)

Reply

Marsh Posté le 23-05-2007 à 08:23:30    

Voici comment ça peut marcher sans changer le serveur :

Code :
  1. $dom = domxml_open_file('http://news.adventist.org/index.fr.rss');
  2. $items = $dom->get_elements_by_tagname('item');
  3. echo '<ul>';
  4. foreach ($items as $item)
  5. {
  6.     $titre = array_pop($item->get_elements_by_tagname('title'));
  7.     $lien = array_pop($item->get_elements_by_tagname('link'));
  8.     echo sprintf('<li><a href="%s">%s</a></li>', utf8_decode($lien->get_content()), utf8_decode($titre->get_content()));
  9. }
  10. echo '</ul>';


C'est un exemple simple mais voila l'esprit.
Merci à julp sur le forum developpez.com et merci aussi à soju et omega2 pour leur soutien ;)


Message édité par KahL le 23-05-2007 à 08:24:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed