XML mit PHP ausgeben!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML mit PHP ausgeben!

    Erstmal Hallo!

    Ich wollte auf meiner Homepage meine Seti@Home Statisitk einbinden. Dazu wird auch für jeden Nutzer eine XML Datei angeboten die folgendermaßen aus sieht:

    <?xml version="1.0" encoding="iso-8859-1" ?>
    <!DOCTYPE userstats SYSTEM "http://setiathome.ssl.berkeley.edu/xml/userstats.dtd">

    <userstats>

    <userinfo>
    <name><a href="http://http://www.xxxde" target="new">xxx</a></name>
    <numresults>xxx</numresults>
    <cputime>xxx</cputime>
    <avecpu>xxx</avecpu>
    <resultsperday>xxx</resultsperday>
    <lastresulttime>xxx</lastresulttime>
    <regdate>xxx</regdate>
    <usertime>xxx</usertime>
    </userinfo>
    <groupinfo>
    <group><a href="http://setiathome...">seti@xxx.dede</a></group>
    </groupinfo>
    <rankinfo>
    <rank>xxx</rank>
    <ranktotalusers>xxx</ranktotalusers>
    <num_samerank>xxx</num_samerank>
    <top_rankpct>xxx</top_rankpct>
    </rankinfo>
    <certinfo>
    <cert><a href="http://setiathome....">Download 750 Workunit Certificate</a></cert>
    <cert><a href="http://setiathome...">Download 500 Workunit Certificate</a></cert>
    <cert><a href="http://setiathome....">Download 250 Workunit Certificate</a></cert>
    <cert><a href="http://setiathome....">Download 100 Workunit Certificate</a></cert>
    </certinfo>

    </userstats>
    Bei den xen standen vrher die ganzen Werte drin. So... da ich sowas schonmal für was andere gemacht habe dachte ich ich benutze das selbe Script dafür das folgendermaßen aus sieht:

    <?
    $config[uid] = "meine@email.de";
    $config[tmp] = "seti.dat";

    if(@filemtime($config[tmp]) <= time() - 3600 || @filesize($config[tmp]) == 0)
    {
    $input_xml = @fopen("http://www.pfadzuxml.de/seti.php=$config[uid]","r");
    $input = @fread($input_xml,2048);
    @fclose($input_xml);

    if($input)
    {
    $tmpfile = @fopen($config[tmp],w);
    if($tmpfile)
    {
    @fwrite($tmpfile,$input);
    }
    else
    {
    echo "Kann nicht in Temp-File schreiben. Fehlende Rechte.";
    exit;
    }
    @fclose($tmpfile);
    }

    unset($input,$input_xml,$tmpfile);
    }

    $tmpfile = @fopen($config[tmp],r);
    $input = @fread($tmpfile,2048);

    if($input)
    {
    $parser = xml_parser_create();
    xml_parse_into_struct($parser,$input,$values);
    xml_parser_free($parser);

    $xml = array();

    foreach($values as $data)
    {
    $xml[strtolower($data[tag])] = $data[value];
    }
    }
    else
    {
    echo "Kann Temp-Datei $config[tmp] nicht lesen.";
    exit;
    }

    @fclose($tmpfile);
    unset($tmpfile,$input,$parser,$values,$data);
    ?>
    Da holt er sich ja die xml Datei jede Stunde und benutzt die geholte Datei Falls der Server down sein sollte.

    Nun konnte ich bei anderen XML Dateien aber die Werte aus der XML Datei mit:

    echo $xml[name]

    in einer PHP Datei ausgeben wenn das obrigen Script davor ausgeführt wurde. Nur hierbei geht das nicht. Kann mir da jemand helfen?

    Freundliche Grüße

    cyablo

    EDIT:
    By Goth : QUOTE's repariert ...
    Zuletzt geändert von goth; 18.10.2004, 18:38.

  • #2
    Wie sieht denn die Fehlermeldung aus, oder gibt´s gar keine????
    Ich denke, also bin ich.
    Manche sind trotzdem!

    Kommentar


    • #3
      ne keinerlei meldung ... leider

      Kommentar


      • #4
        Original geschrieben von cyablo
        ne keinerlei meldung ... leider
        Bin mir jetzt nicht sicher, könnte sein das ich falsch liege, aber ist es nicht so das du durch die @'s die Fehlermeldungen unterdrückst?!

        Kommentar

        Lädt...
        X