Alguien podria ayudarme con este codigo ya que no me genera el archivo XML
mi problema es que generando un HTMl me funciona correctamente, pero nunca he generado un XML, y lo necesito para un flash.
Gracias de antemano
<?php
//ob_start();
header('Content-type: text/xml');
//truco por si short_open_tag = On
echo '<';
?>
?xml version="1.0" encoding="iso-8859-1"?>
<?php
$lgsl_cache_time = 1;
$lgsl_hostname_shorten = 1;
$lgsl_hostname_length = 40;
$lgsl_hide_offline = 0;
$lgsl_hostname_to_ip = 0;
$lgsl_path = "";
require_once($lgsl_path."lgsl_protocol.php");
if (!is_writable($lgsl_path."lgsl_cache.dat")) { echo "El archivo LGSL_CACHE.DAT no se puede escribir"; exit; }
$lines = file($lgsl_path."lgsl_cache.dat");
$last_line = count($lines) - 1;
$last_update = intval($lines[$last_line]);
$time_check = time() - ($lgsl_cache_time * 60);
if ($time_check < $last_update)
{
unset($lines[$last_line]);
unset($data_cache);
foreach ($lines as $line_number=>$line)
{
$data_cache[$line_number] = unserialize($line);
}
}
else
{
ignore_user_abort(true);
$lines = file($lgsl_path."lgsl_servers.txt");
$data_counter = 0;
unset($data_cache);
foreach ($lines as $line)
{
if (!trim($line)) { continue; }
$part = explode(":", $line);
$server_ip = trim($part[0]);
$server_port = trim($part[1]);
$server_type = trim($part[2]);
if (!$server_ip || !$server_port) { continue; }
$data = lgsl_query($server_ip, $server_port, $server_type, "info");
$data[gamemod] = preg_replace("/[^A-Za-z0-9 \_\-]/", "_", strtolower($data[gamemod]));
$data[mapname] = preg_replace("/[^A-Za-z0-9 \_\-]/", "_", strtolower($data[mapname]));
$data_counter += 1;
$data_cache[$data_counter] = $data;
}
$fh = fopen($lgsl_path."lgsl_cache.dat","w");
foreach($data_cache as $line)
{
$line = serialize($line)."\r\n";
fwrite($fh,$line);
}
fwrite($fh, time());
fclose($fh);
ignore_user_abort(false);
}
echo '<servers>';
$lgsl_stats_servers = 0;
$lgsl_stats_players = 0;
$lgsl_stats_maxplayers = 0;
foreach($data_cache as $data)
{
if (!$data[status] && $lgsl_hide_offline) { continue; }
if (!$data[status])
{
$lgsl_image_status = $lgsl_path."images/status/server_offline.gif";
$data[status] = "OFFLINE";
$data[hostname] = "Unknown";
$data[mapname] = "unknown";
}
else if (!$data[password])
{
$lgsl_image_status = $lgsl_path."images/status/server_online.gif";
$data[status] = "ONLINE";
}
else
{
$lgsl_image_status = $lgsl_path."images/status/server_online_password.gif";
$data[status] = "ONLINE CON PASSWORD";
}
$lgsl_image_icon = $lgsl_path."images/icons/$data[gametype]/$data[gamemod].gif";
if (!file_exists($lgsl_image_icon))
{
$lgsl_image_icon = $lgsl_path."images/icons/$data[gametype]/$data[gametype].gif";
if (!file_exists($lgsl_image_icon))
{
$lgsl_image_icon = $lgsl_path."images/status/unknown.gif";
}
}
if (strlen($data[hostname]) > $lgsl_hostname_length)
{
if ($lgsl_hostname_shorten == 1)
{
$data[hostname] = substr($data[hostname], 0, $lgsl_hostname_length - 3) . "...";
}
else if ($lgsl_hostname_shorten == 2)
{
$data[hostname] = "..." . substr($data[hostname], - $lgsl_hostname_length);
}
}
$data[hostname] = htmlentities($data[hostname], ENT_QUOTES);
if ($lgsl_hostname_to_ip) { $data[ip] = gethostbyname($data[ip]); }
$lgsl_launch = lgsl_get("launch", $data[ip], $data[port], $data[gametype]);
$lgsl_stats_servers++;
$lgsl_stats_players += $data[players];
$lgsl_stats_maxplayers += $data[maxplayers];
//-----------------------------------------------------------------------------------------------------------+
echo '<serve statuts="'$data[status]'" image_status="'$lgsl_image_status'" tipo_juego="'$data[gametype] - $data[gamemod]'" image_tipo_juego="'$lgsl_image_icon'" ip_server="'$data[ip]:$data[port]'" nombre_server="'$data[hostname]'" mapa_actual="'$data[mapname]'" jugadores_actual="'$data[players]'" jugadores_maximos="'$data[maxplayers]'" />';
} // DL ULTIMO foreach
echo '</servers>';
//-----------------------------------------------------------------------------------------------------------+
?>