Vraag & Antwoord

Webprogrammeren & scripting

includes werkt niet naar behoren! -->RSS naar PHP

22 antwoorden
  • Ik wil vier bestanden includen voor het actuele nieuws op ICT gebied maar het wil niet zoals het moet. Hieronder de code van de index met de PHP includes, die wel goed is geregistreerd maar meer ook niet! [code:1:4f089e4910]<table border="0" cellpadding="0" cellspacing="0" width="793" height="542"> <tr> <td valign="top"><? include ("webwereld.php");?></td> <td valign="top"><? include ("tweakersnet.php");?></td> </tr> <tr> <td valign="top"> </td> <td valign="top" height="210"> </td> </tr> </table>[/code:1:4f089e4910] Online voorbeeld is [url=http://brands.br.funpic.org/Nieuwsfeeds/Nieuwsoverzicht%20(ICT).php]hier[/url] te vinden! Maar hoe krijg ik het wel werkend want een van de include wordt wel weer gegeven maar de tweede niet! ik wil het zo hebben dat het een tabel word met 4 cellen en in elke cel een include, hoe moet ik dat voor mekaar krijgen? Of is er een programma die RSS feeds op een andere manier omzet in een eigengekozen lay-out?
  • Volgens mij wordt er helemaal niets weergegeven, alleen foutmeldigen dat je geen inludes mag doen Hoe ziet die webwereld.php er uit? Je script stopt gewoon bij het inlezen van de eerste. [code:1:4abc2f4a26] Warning: set_time_limit() has been disabled for security reasons in /usr/export/www/hosting/brands/Nieuwsfeeds/webwereld.php on line 11 Warning: fopen(): URL file-access is disabled in the server configuration in /usr/export/www/hosting/brands/Nieuwsfeeds/webwereld.php on line 84 Warning: fopen(http://www.webwereld.nl/rss/articles): failed to open stream: no suitable wrapper could be found in /usr/export/www/hosting/brands/Nieuwsfeeds/webwereld.php on line 84 could not open XML input [/code:1:4abc2f4a26]
  • Lange code die onafhankelijk wel werkt: [code:1:d15be23993]<head> <link rel="stylesheet" href="nieuws.css" type="text/css"> </head> <body> <?php /* Begin script voor RSS-nieuws van webwereld.nl */ set_time_limit(0); $file = "http://www.webwereld.nl/rss/articles"; $rss_channel = array(); $currently_writing = ""; $main = ""; $item_counter = 0; function startElement($parser, $name, $attrs) { global $rss_channel, $currently_writing, $main; switch($name) { case "RSS": case "RDF:RDF": case "ITEMS": $currently_writing = ""; break; case "CHANNEL": $main = "CHANNEL"; break; case "IMAGE": $main = "IMAGE"; $rss_channel["IMAGE"] = array(); break; case "ITEM": $main = "ITEMS"; break; default: $currently_writing = $name; break; } } function endElement($parser, $name) { global $rss_channel, $currently_writing, $item_counter; $currently_writing = ""; if ($name == "ITEM") { $item_counter++; } } function characterData($parser, $data) { global $rss_channel, $currently_writing, $main, $item_counter; if ($currently_writing != "") { switch($main) { case "CHANNEL": if (isset($rss_channel[$currently_writing])) { $rss_channel[$currently_writing] .= $data; } else { $rss_channel[$currently_writing] = $data; } break; case "IMAGE": if (isset($rss_channel[$main][$currently_writing])) { $rss_channel[$main][$currently_writing] .= $data; } else { $rss_channel[$main][$currently_writing] = $data; } break; case "ITEMS": if (isset($rss_channel[$main][$item_counter][$currently_writing])) { $rss_channel[$main][$item_counter][$currently_writing] .= $data; } else { $rss_channel[$main][$item_counter][$currently_writing] = $data; } break; } } } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); // output HTML print ("<div class=\"channelname\">" . $rss_channel["TITLE"] . "</div>"); print ("<div class=\"channeldescription\">" . $rss_channel["DESCRIPTION"] . "</div><br />"); if (isset($rss_channel["ITEMS"])) { if (count($rss_channel["ITEMS"]) > 0) { for($i = 0;$i < count($rss_channel["ITEMS"]);$i++) { if (isset($rss_channel["ITEMS"][$i]["LINK"])) { print ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][$i]["LINK"] . "\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</a></div>"); } else { print ("\n<div class=\"itemtitle\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</div>"); } print ("<div class=\"itemdescription\">" . $rss_channel["ITEMS"][$i]["DESCRIPTION"] . "</div><br />"); } } else { print ("<b>There are no articles in this feed.</b>"); } } // einde script van webwereld.nl ?> </body>[/code:1:d15be23993]
  • [quote:3973b7e0c1="brandsrus"]Lange code die onafhankelijk wel werkt: [[/quote:3973b7e0c1] [url=http://brands.br.funpic.org/Nieuwsfeeds/webwereld.php]Weet je dat wel zeker?[/url]
  • [quote:d480eea82e="Japaveh"][quote:d480eea82e="brandsrus"]Lange code die onafhankelijk wel werkt: [[/quote:d480eea82e] [url=http://brands.br.funpic.org/Nieuwsfeeds/webwereld.php]Weet je dat wel zeker?[/url][/quote:d480eea82e]Hier baal ik weer van :cry: Op mijn thuisserver werkt het naar behoren en hier ineens niet meer, hoe is het mogelijk? :cry: :cry: :cry: :cry: Is er misschien een ander script die wel werkt voor het omzetten van RSS feeds naar PHP? en makkelijk is aan te passen met CSS en de url waar het naar toe verwijst? :-? :( :cry:
  • begin gewoon eens met het lezen van de foutmeldingen... [quote:0897ac52ec]Warning: set_time_limit() has been disabled for security reasons in /usr/export/www/hosting/brands/Nieuwsfeeds/webwereld.php on line 11[/quote:0897ac52ec] Je gebruikt set_time_limit(0) om het script eventueel eeuwig te laten duren. Niet gek dat je host dat niet zo'n heel goed idee vind toch? Lijkt me ook vrij overbodig voor een rss parses dat het script blijft lopen.. [quote:0897ac52ec] Warning: fopen(): URL file-access is disabled in the server configuration in /usr/export/www/hosting/brands/Nieuwsfeeds/webwereld.php on line 84 Warning: fopen(http://www.webwereld.nl/rss/articles): failed to open stream: no suitable wrapper could be found in /usr/export/www/hosting/brands/Nieuwsfeeds/webwereld.php on line 84 could not open XML input [/quote:0897ac52ec] En je host heeft er ook voor gezorgd dat de eventueel 'gevaarlijke' file functies niet werken. Je mooi gedownloade script van http://www.rjk-hosting.co.uk/programs/prog.php?id=7 gaat dus gewoon niet werken op die webserver. Maar met includes heeft dat weinig te maken.
  • Dus er is geen script dat werkt dan zeker? Moet ik dus zelf elke dag aan de slag om de boel bij te werken! :cry:
  • [quote:846e6efffa="brandsrus"]Dus er is geen script dat werkt dan zeker? Moet ik dus zelf elke dag aan de slag om de boel bij te werken! :cry:[/quote:846e6efffa] Nee, in je code worden commando's gebruikt die niet toegestaan zijn. Alternatief: [url=http://magpierss.sourceforge.net/]Magpie RSS - PHP RSS Parser[/url]
  • [quote:777e95e2aa="h4xX0r"][quote:777e95e2aa="brandsrus"]Dus er is geen script dat werkt dan zeker? Moet ik dus zelf elke dag aan de slag om de boel bij te werken! :cry:[/quote:777e95e2aa] Nee, in je code worden commando's gebruikt die niet toegestaan zijn. Alternatief: [url=http://magpierss.sourceforge.net/]Magpie RSS - PHP RSS Parser[/url][/quote:777e95e2aa] Dat heb ik ook geprobeerd maar dat werkt ook niet :cry: EDIT: http://brands.br.funpic.org/magpierss-0.71.1/nieuws.php daar is een voorbeeld te zien van de foutmeldingen! [code:1:777e95e2aa]<?php require_once('rss_fetch.inc'); $feedurl = "http://www.legaltorrents.com/musicrss.xml"; $feedurl .= "http://www.legaltorrents.com/musicrss.xml"; $rss = fetch_rss( $feedurl ); foreach ($rss->items as $item) { echo( "<h4><a href='" . $item['link'] . "'>"); echo( stripslashes ($item['title']) . "</a></h4>\n"); echo( "<p>" . stripslashes($item['description']) . "</p>\n"); } ?>[/code:1:777e95e2aa] Bijbehorende code van nieuws.php
  • [quote:1a95afb647="brandsrus"] Bijbehorende code van nieuws.php[/quote:1a95afb647] Lees die foutmelding nou eens goed...en denk eens na wat het probleem zou kunnen zijn...het staat er echt heel duidelijk. tip: .= betekent dat twee strings aan elkaar geplakt worden (concat)
  • Je hebt het probleem met je foute string opgelost zie ik. (er zit nog een probleem in je [url=www.php.net/foreach]foreach[/url] maar er is een ander (fundamenteel) probleem: Als de deze foutmelding krijgt (jij krijgt iets verglijkbaars, maar dan zonder de (1): [quote:ff0b9aeb23] Error: MagpieRSS: Failed to fetch http://example.com/rss.xml. (HTTP Error: connection failed (1) [/quote:ff0b9aeb23] dan betekent dat het volgende [quote:ff0b9aeb23] A connection error of type 1 means "permission denied". This usually means that your ISP has configued PHP so that it can't open outgoing sockets (usually for security reasons). The only solution to this is to ask your ISP for help. Sometimes you'll also get the related connection failed (11) (e.g. on sourceforge.net) which also means PHP is configured in such a way that Magpie can't work. [/quote:ff0b9aeb23] [url=http://magpierss.sourceforge.net/faq.php#error-magpierss-failed-to-fetc]bron[/url] Kortom...je hoster vind het niet zo leuk. Dat is ook meteen een nadeel van gratis hosts als funpic. Je kunt nu niet gaan klagen...
  • Dus het gaat niet werken! :cry: EDIT: Daar zit ik dus een hele dag mee te kloeien, goed je wilt wat!:wink:
  • Als je nou eens "musicrssxml" vervangt in "musicrss.xml"... Dan zal dat heel veel schelen... ---- [code:1:1787be8a84] <?php require_once('rss_fetch.inc'); $url = 'http://www.legaltorrents.com/musicrss.xml'; $rss = fetch_rss($url); echo "Site: ", $rss->channel['title'], "<br>"; foreach ($rss->items as $item ) { $title = $item['title']; $url = $item['guid']; echo "<a href=$url>$url</a></li><br>"; } ?> <br><br> <!-- WEBWERELD --> <?php $url = 'http://www.webwereld.nl/rss/trillian.rss'; $rss = fetch_rss($url); echo "Site: ", $rss->channel['title'], "<br>"; foreach ($rss->items as $item ) { $title = $item['title']; $url = $item['link']; echo "<a href=$url>$url</a></li><br>"; } ?> [/code:1:1787be8a84] Let op als je gaat testen dat je niet te vaak de RSS-feed opvraagt. Sommige RSS-feeders limiteren het opvragen van de feed. Bijvoorbeeld, dat je maar 1x per half uur de feed mag opvragen, anders krijg je een ban ofzo. Je kan ook de cache-versie van MagPie proberen.
  • [quote:a7f0d4676c="h4xX0r"]Als je nou eens "musicrssxml" vervangt in "musicrss.xml"... Dan zal dat heel veel schelen... [/quote:a7f0d4676c] @h4xX0r: Net was de URL al wel goed hoor, maar die fetch_rss functie wil niet aangezien die HTTP request een access denied krijgt. Ook als de URL goed is. De host is daar de reden van AFAIK
  • [quote:a6de8c4988]De eerste twee regels zelf ff aanpassen.[/quote:a6de8c4988] Zou je nog willen uitleggen wat daarin moet staan? Volgens mij heb ik het bijna, volgens de foutmeldingen http://brands.br.funpic.org/magpierss-0.71.1/nieuws.php
  • [quote:c947c31e98="brandsrus"][quote:c947c31e98]De eerste twee regels zelf ff aanpassen.[/quote:c947c31e98] Zou je nog willen uitleggen wat daarin moet staan? [/quote:c947c31e98] Zie origineel. [quote:c947c31e98="brandsrus"] Volgens mij heb ik het bijna, volgens de foutmeldingen http://brands.br.funpic.org/magpierss-0.71.1/nieuws.php[/quote:c947c31e98] [code:1:c947c31e98] Fatal error: main(): Failed opening required 'http://brands.br,funpic.or ^ [/code:1:c947c31e98]
  • Zelfde problemen weer met die connection. [quote:fb4cd54baf]Warning: MagpieRSS: Failed to fetch http://www.legaltorrents.com/musicrss.xml (HTTP Error: connection failed ) in /usr/export/www/hosting/brands/magpierss-0.71.1/rss_fetch.inc on line 238 Site: Warning: Invalid argument supplied for foreach() in /usr/export/www/hosting/brands/magpierss-0.71.1/nieuws.php on line 10 Warning: MagpieRSS: Failed to fetch http://www.webwereld.nl/rss/trillian.rss (HTTP Error: connection failed ) in /usr/export/www/hosting/brands/magpierss-0.71.1/rss_fetch.inc on line 238 Site: Warning: Invalid argument supplied for foreach() in /usr/export/www/hosting/brands/magpierss-0.71.1/nieuws.php on line 28 [/quote:fb4cd54baf] EDIT: Zal ik het handmatig moeten doen vrees ik :cry: , tenzij er een andere oplossing is?
  • [quote:7916980192="brandsrus"]Zelfde problemen weer met die connection. EDIT: Zal ik het handmatig moeten doen vrees ik :cry: , tenzij er een andere oplossing is?[/quote:7916980192] http://board.funpic.org/ Wellicht dat je thuis het script kan draaien en om de x tijd je website update.
  • [quote:82fe12f9fc="h4xX0r"][quote:82fe12f9fc="brandsrus"]Zelfde problemen weer met die connection. EDIT: Zal ik het handmatig moeten doen vrees ik :cry: , tenzij er een andere oplossing is?[/quote:82fe12f9fc] http://board.funpic.org/ Wellicht dat je thuis het script kan draaien en om de x tijd je website update.[/quote:82fe12f9fc] [offtopic] Je moet trouwens oppassen dat je site niet getrashed wordt. Er zijn [url=http://board.funpic.org/topic,9990,-previous-account-deleted%3F.html]topics[/url] op dat board waarin mensen klagen dat kun site getrashed is. De reden daarvoor is dat de site niet in het engels of duits geschreven was. In de voorwaarden staat daarover ook het volgende: [quote:82fe12f9fc] 4. Language. All sites must be written entirely in English or German. [/quote:82fe12f9fc] ([url=http://www.funpic.org/index.php?template=terms_of_service]bron[/url]) en in de FAQ staat het volgende: [quote:82fe12f9fc] Q: Can I have a website in a language other than English and German? A: No. Those sites cannot be monitored and therefore will be deleted, often without notice. The reason we cannot allow other languages is that we have no reasonable way of verifying that the contents are legal. [/quote:82fe12f9fc] ([url=http://board.funpic.org/topic,8953,-rules-undamp%3B-faq-%28please-read%21%29.html]bron[/url]) Oppassen dus (zorg voor backups) [/offtopic]
  • Maar mag ik het ook in multi-language uitbrengen? Duits en Nederlands?

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.