login  Naam:   Wachtwoord: 
Registreer je!
 Forum

RSS feed uitlezen

Offline Sander1993 - 05/01/2009 17:47
Avatar van Sander1993PHP interesse hey,

ik wou een rss-feed uitlezen, dus ben ik een beetje bezig met tutorials over simpleXML.
nu typ ik dit:
  1. <?php
  2. // The file test.xml contains an XML document with a root element
  3. // and at least an element /[root]/title.
  4.  
  5. if (file_exists('http://www.guildwars.com/newsarchive/rss/news-current.xml')) {
  6. $xml = simplexml_load_file('http://www.guildwars.com/newsarchive/rss/news-current.xml');
  7.  
  8. print_r($xml);
  9. } else {
  10. exit('Failed to open http://www.guildwars.com/newsarchive/rss/news-current.xml');
  11. }
  12. ?>

komt van php.net
waarmee ik dit bestand wou openen http://www.guil...urrent.xml maar het werkt niet.
het geeft weer: Failed to open http://www.guil...urrent.xml
komt dat omdat de rss feed niet van binnen mijn host komt of ergens anders door? en hoe los ik dit op?

8 antwoorden

Gesponsorde links
Offline Koen - 05/01/2009 18:33
Avatar van Koen PHP expert Dat komt omdat je niet kan checken of remote bestanden bestaan of niet, gebruik als vervanging dit prima script 
Offline Sander1993 - 07/01/2009 19:29 (laatste wijziging 07/01/2009 19:52)
Avatar van Sander1993 PHP interesse oke dan, het ging niet echt om het checken maar meer om het uitlezen, want dit werkt ook niet:
  1. <?php
  2. $xml = simplexml_load_file('http://www.guildwars.com/newsarchive/rss/news-current.xml');
  3. print_r($xml);
  4. ?>


edit:
ik denk dat ik hier dichterbij mee kom:
  1. <?php
  2. fsockopen('guildwars.com',80,$errno,$errstr);
  3. if (!$fp) {
  4. print "$errstr ($errno)<br />\n";
  5. } else {
  6. $cmd = "GET http://www.guildwars.com/newsarchive/rss/news-current.xml HTTP/1.1\r\n";
  7. $cmd .= "Host: phpnet.us\r\n";
  8. $cmd .= "Connection: Close\r\n\r\n";
  9. fwrite($fp,$cmd);
  10. $xml = fread($fp, 4096);
  11. print nl2br($xml);
  12. }
  13. ?>

maar hij zegt succes (0), maar dat is niet de bedoeling...
Offline djb - 07/01/2009 21:14
Avatar van djb PHP beginner met een beetje klooie ben ik tot dit gekomen:

  1. function Parse($nieuwsfeed){
  2. $xml_feed = $nieuwsfeed;
  3. $xml_praser = xml_parser_create();
  4. xml_parse_into_struct($xml_praser,$xml_feed,$xml_sleutel,$xml_index);
  5. xml_parser_free($xml_praser);
  6. for($i = 0; !empty($xml_index['TITLE'][$i]); $i++){
  7. if($i == 0){
  8. echo '<b>RSS feed afkomstig van:<a href="'.$xml_sleutel[$xml_index['LINK'][$i]]['value'].'">'.$xml_sleutel[$xml_index['TITLE'][$i]]['value'].'</a></b><br /><br />';
  9. }else{
  10. $datum = date("Y-m-d H:i", strtotime($xml_sleutel[$xml_index['PUBDATE'][$i]]['value']));
  11. echo '['.$datum.'] <a href="'.$xml_sleutel[$xml_index['LINK'][$i]]['value'].'">'.$xml_sleutel[$xml_index['TITLE'][$i]]['value'].'</a><br />';
  12. }
  13. }
  14. }
  15. $file = file("http://www.guildwars.com/newsarchive/rss/news-current.xml");
  16. $file2 = "";
  17. foreach ($file as $file_deel) {
  18. $file2 .= $file_deel;
  19. }
  20. Parse($file2);


Nu laat hij keurig de titels zien.

De functie Parse komt van deze pagina:
http://www.site...amp;id=850

En heb ik 1 regel aangepast.
$file2 bevat de RSS feed.

Bij mij werkt dit goed en is getest.

Groetjes jeroen
Offline Sander1993 - 07/01/2009 21:18
Avatar van Sander1993 PHP interesse wtf, bij mij werkt ie niet
Offline djb - 07/01/2009 21:34
Avatar van djb PHP beginner welke error krijg je ?
Offline Sander1993 - 07/01/2009 21:37
Avatar van Sander1993 PHP interesse niks, dat is t m nou juist, mijn hosting is echt bagger, hij weergeeft geen errors
Offline djb - 07/01/2009 21:49
Avatar van djb PHP beginner jaah, ik test het ook localhost,, dus ik heb alle rechten zeg maar, en kan alles goed instellen.

Zit je toevallig bij one.com ?:)
Want daar zit ik ook,, kan ik hem ff daar teste
Offline Sander1993 - 08/01/2009 12:22 (laatste wijziging 09/01/2009 20:06)
Avatar van Sander1993 PHP interesse nee ik zit bij hosting2go. ik ben niet zo weg van deze hosting, qua onderseuning etc.. maar dus niet bij one. btw. weet misschien iemand een host, die ssl, php, perl, en coldfusion ondersteunt?

edit:
het gaat er juist om hoe ik een externe feed open. dat is het probleem.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s