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:
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:
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
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>
<!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>
<?
$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);
?>
$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);
?>
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 ...
Kommentar