Dag mensen,
Momenteel ben ik bezig met een site die gegevens moet halen uit de World of Warcraft Armory. Ik heb een class gemaakt die er als volgt uit ziet:
<?php
class loadXML
{
var $xml;
function __construct($url, $define = "")
{
if($define == 1)
{
define("USE_CURL", true);
}
$ch = curl_init();
$useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
$rawxml = curl_exec($ch);
curl_close($ch);
$this->xml = simplexml_load_string($rawxml);
}
}
?>
Hierbij is $url de link naar de pagina en $define een bool afhankelijk of dit wel of niet de eerste keer is dat cURL geopend wordt.
Vervolgens roep ik deze class aan:
<?php
$server = new loadXML("http://www.wow-europe.com/realmstatus/index.xml", 1);
$guild = new loadXML("http://armory.wow-europe.com/guild-info.xml?r=Silvermoon&n=Hodirs+Hammer");
?>
Met $server haal ik informatie op of de Realm wel of niet online is, met $guild haal ik gegevens op uit de Armory van een guild. Vervolgens haal gebruik ik de XML gegevens (bijv. met foreach($guild->blabla as $blabla) etc.) om te verwerken in de site. Ik test alles lokaal en daar werkt het prima, maar wanneer ik deze upload naar een andere server, werkt het wel om de server informatie te verwerken, maar bij het verwerken van de guild gegevens doet ie of niets, of kapt halverwege de pagina af (zie www.n-dsign.com/?p=members als voorbeeld).
Ik heb werkelijk geen idee waarom de eerste aanroep wel werkt, maar de tweede niet. Als ik echter een 'kale' testversie gebruik (www.n-dsign.com/testxml.php) werkt het prima. Weet iemand wat hier mis gaat?
968 views