Forum EUserv

Webspace-Foren => Webspace - Allgemein => Thema gestartet von: Sknorrell am 18.August 2006, 15:54:18

Titel: Probleme beim Zugriff auf externe xml
Beitrag von: Sknorrell am 18.August 2006, 15:54:18
Hallo!

Ich habe das Problem, dass ich per php-script auf eine externe xml-Datei zugreifen möchte.

Immer wird mit der Meldung "could not open xml input".

Andere die ich kenne, die diese Scripts nuten, haben dies Problem nicht.

Die kompletten scripts findet man unter http://www.valhallas-sturm.org/dl/Guild_Stats_v0.5.zip.

Dank an jeden der Helfen kann!

p.s.: ich bin noch php-Neuling!

Auszug aus dem Scripten :

--------------------guild.php------------------------------
<?
include('include/header.php');
include('include/config.php');

set_time_limit(120);

//require_once('XMLServerInfo.php');   liefert veraltete Infos (3.12.04)
//require_once('XMLServerStatus.php');   liefert veraltete Infos (3.12.04)
require_once('XMLherald/XMLKeeps.php');
require_once('XMLherald/XMLRelics.php');
require_once('XMLherald/XMLGuildInfo.php');
require_once('XMLherald/XMLGuildList.php');


// holt informationen zu einer Gilde
$gi=new GuildInfo(sprintf('http://camelot-europe.goa.com/herald/servers/%s/guilds/%s.xml',
                          $server,$guild_id));
if($gi->Error) die($gi->ErrorMsg);

// liefert allgemeine Informationen zur Gilde
$info=$gi->getGuildInfo() ;
?>
<h1><?=$info['name']?></h1>
<table cellpadding='0' cellspacing='0' width='80px' background="images/sshield/<?=$info['sshield']?>.png">
   <tr height='100px'>
      <td align='center' valign='top'>
         <img src="images/semblem/<?=$info['semblem']?>.gif">
      </td>
   </tr>
</table>
<br><br>
<table cellpadding='0' cellspacing='0' width="400px">
   <tr>
      <td>Reichspunkte: <?=$info['guildrp']?> ( Letzte Woche: <?=$info['lastrp']?> )</td>
   </tr>
   <tr>
      <td><?=$info['activechars']?> aktive Charaktere, gespielt von <?=$info['activemembers']?> Mitgliedern</td>
   </tr>
   <tr>
      <td>Hausnummer: <?=$info['housing']?></td>
   </tr>
   <tr>
      <td>Homepage: <a href="<?=$info['websiteurl']?>" target="_blank"><?=$info['websiteurl']?></td>
   </tr>
</table>
<br><br>
<?
// liefert eine Liste aller Charaktere der Gilde
$chars=$gi->getCharacterList();

$strorder='DESC';
if (isset($_GET['order'])) {
   if ($_GET['order']=='DESC'){
      $strorder='ASC';
   }
}else{
$_GET['order']='ASC';
}

if (!isset($_GET['sort']))
   $_GET['sort']='name';

sort_by_field($chars, array($_GET['sort'] => $_GET['order']));

?>
<table cellpadding='0' cellspacing='0' width='780px'>
   <tr height='15px'>
      <td width='150px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=name&order=<?=$strorder?>'><b>Name</b></a></td>
      <td width='100px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=guildrank&order=<?=$strorder?>'><b>Rang</b></td>
      <td width='80px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=level&order=<?=$strorder?>'><b>Level</b></td>
      <td width='130px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=race&order=<?=$strorder?>'><b>Rasse</b></td>
      <td width='130px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=class&order=<?=$strorder?>'><b>Klasse</b></td>
      <td width='120px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=totalrp&order=<?=$strorder?>'><b>RP</b></td>
      <td width='120px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=lastweekrp&order=<?=$strorder?>'><b>LWRP</b></td>
      <td width='100px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=totalrp&order=<?=$strorder?>'><b>RR</b></td>
      <td width='100px' class="top" align='center'><a href='<?$_PHP_SELF?>?sort=laston&order=<?=$strorder?>'><b>Online</b></td>
   </tr>
<? foreach($chars as $ch) {?>
   <tr height='15px'>
      <td width='150px' class="content"><a href='char.php?name=<?=$ch['name']?>'><?=$ch['name']?></a></td>
      <td width='100px' class="content"><?=$ch['guildrank']?></td>
      <td width='80px' class="content"><?=$ch['level']?></td>
      <td width='130px' class="content"><?=$ch['race']?></td>
      <td width='130px' class="content"><?=$ch['class']?></td>
      <td width='120px' class="content"><?=$ch['totalrp']?></td>
      <td width='120px' class="content"><?=$ch['lastweekrp']?></td>
      <td width='100px' class="content"><?=realmrank($ch['totalrp'])?></td>
      <td width='100px' class="content" align='center'><img src="images/<?=$ch['laston']?>.png" title="<?=$ch['laston']?>"></td>
   </tr>
<? }
include('include/footer.php');
?>


-----------------------Ende-----------------------------------------

------------------XMLGuildList.php------------------------------------------
<?php

/////////////////////////////////////////////////
//                                             //
// Euro-DAoC XML-Parser v0.91 beta             //
// by Crowley                                  //
// adapted by Oz                               //
//                                             //
/////////////////////////////////////////////////

require_once('XMLdocument.php');

class GuildList extends XMLdocument {
   
    var $XMLdata;
    var $Error;
    var $ErrorMsg;
    var $sortfield;
    var $guildinfo;
       
    function GuildList($filename) {
        $this->XMLdata=array();
        $this->Error=false;
        $this->ErrorMsg='';
        if($filename) {
            $this->parseXML($filename);
        }
    }
   
    function getGuildList() {
        $result=array();
        if(is_array($this->XMLdata['GUILD_LIST'][0]['GUILD'])) {
            foreach($this->XMLdata['GUILD_LIST'][0]['GUILD'] as $guild) {
                $result[]=array('name'=>$guild['ATTRS']['NAME'],
                                'guild_id'=>$guild['ATTRS']['GUILD_ID'],
                                'rp'=>$guild['ATTRS']['RP']);
            }
        }
        return $result;
    }
}

?>
------------------------------------------------------------------------
Titel: Probleme beim Zugriff auf externe xml
Beitrag von: alexwille am 22.August 2006, 13:37:29
für die Tatsache, dass du PHP-neuling bist hast du dir ganz schön was vorgneommen. Eventuell schaust Du mal bei php.net nach.
Titel: Probleme beim Zugriff auf externe xml
Beitrag von: Sknorrell am 22.August 2006, 15:01:47
Hi!

Habe inzwischen Antwort vom Service bekommen. Zugriffe auf XML per PHP ist gesperrt bzw. die Befehle die Dateien öffnen, wie fopen usw.

Danke

Sknorrell
Titel: Probleme beim Zugriff auf externe xml
Beitrag von: alexwille am 22.August 2006, 17:40:43
Zitat von: "Sknorrell"
Hi!

Habe inzwischen Antwort vom Service bekommen. Zugriffe auf XML per PHP ist gesperrt bzw. die Befehle die Dateien öffnen, wie fopen usw.

Danke

Sknorrell


Also <? fopen(); ?> geht aber bei mir. Das ist doch zurständig für die lokalen Files. Wenn <? furlopen(); ?> nicht geht, ist das wegen der Sicherheitslücken verständlich.