Ik heb een script ergens gevonden die rss van een site haalt. Het rare is dat het op localhost werkt, en niet op de plek waar de website staat. Weet iemand wat hiervan de oorzaak kan zijn? Verkeerde phpversie? Of iets anders?

Hier is mijn script:

$nieuwsfeed = website;


<?php
function Parse($nieuwsfeed){
      
      $xml_feed = file_get_contents($nieuwsfeed);

      $xml_praser = xml_parser_create();
      
      xml_parse_into_struct($xml_praser,$xml_feed,$xml_sleutel,$xml_index);
      xml_parser_free($xml_praser);
      
      for($i = 0; !empty($xml_index['TITLE'][$i]); $i++){
      
      if($i == 0){

      }else{

	  	$var = explode(":", $xml_sleutel[$xml_index['TITLE'][$i]]['value']);
		$row = explode(" ", $var[0]);
		
		if($row[1] != "" || $row[2] != "")
		{
			$DATUM1 = $row[1]."&nbsp;".$row[2];
			$DATUM = str_replace("&nbsp;", " ", $DATUM1);
		}
	  
	  	$teams = explode(":", $xml_sleutel[$xml_index['TITLE'][$i]]['value']);
	  	$teams1 = explode("-", $teams[1]);
		
	  	if($teams1[0] != "" || $teams1[1] != "")
		{
	   		$TEGENSTANDER = $teams1[0]; 
			$THUIS = $teams1[1]; 
	  	}
		
		$wedstrijd = explode(":", $xml_sleutel[$xml_index['DESCRIPTION'][$i]]['value']);
		$wedstrijdSpatie = explode(",", $wedstrijd[1]);
		
		if($wedstrijdSpatie[0] != "")
		{
			$CODE = $wedstrijdSpatie[0];
		}
		
	  	$time = explode(":", $xml_sleutel[$xml_index['DESCRIPTION'][$i]]['value']);
	 		
		if($time[3] != "" || $time[4] != "")
		{
			$TIJD = $time[3].":".$time[4];
		}
	  
	  if($TIJD != ":" && $DATUM != "")
	  {
	  include("db_connect.php");	  
	  $query = mysql_query("INSERT INTO game (datum, tijd, first, second, code, done, zaal) VALUES ('$DATUM', '$TIJD', '$TEGENSTANDER', '$THUIS', '$CODE', '0', '')");
	  }
	  
	  }
	  }
	  }
?>


Alvast bedankt!
WAT werkt er niet?
Wat gebeurt er? vertel eens wat meer?
Doe eens wat meer controles, zoals het controelren van $xml_feed, wat geeft deze terug?
Als ik $DATUM bijvoorbeeld echo op localhost, krijg ik netjes de datum te zien van elke wedstrijd. Maar doe ik dit op de website online, dan krijg ik niets te zien. Ik zal eens even wat controles doen.

EDIT: Ik heb even gecontrolleerd, maar zelfs als ik $xml_feed probeer te laten zien, krijg ik niets te zien.
Doe eens iets als;

<?php
if($xml_feed = file_get_contents($nieuwsfeed))
{
//de rest van het script
}else{
echo 'Het ophalen van de xmlfeed is mislukt';
}
?>

Er zit namelijk nergens enige controle ingebouwd.

Als ik dat erin zet krijg ik, en geen tekst van de website, en ik krijg niet te zien "Het ophalen van de xmlfeed is mislukt".
Wat geeft een var_dump($xml_feed) ? En al contact opgenomen met je webhostingleverancier om te vragen of je allow_url_fopen op true staat, anders mag je helemaal geen externe websites aanspreken.
Hoe bedoel je mag ik geen externe websites aanspreken? Als een website zo'n rss feed heeft, mag je de inhoud toch gewoon ophalen via een php script?
Van jouw webhoster blijkbaar niet.

Reageren