Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, bom dia sou novo aqui no forum venho por meio desse post pedir ajudar a vocês pois eu já não sei mais oque fazer pendendo madrugadas e madrugadas e nada, bom deixa eu esplica melhor meu problema vamos lá.
Bom, estou elaborando um sistema para o site um jogo online um ranking online, O game exporta os dados dos player em formato .XML em uma pasta cujo o diretório é esse "C:\Release\tmsrv\run\rank".
O ranking ta 90% feito fiz a página que vai exibir os dados cadastrado no MySQL, etc...
o meu problema está em criar um <?php ?> que vai pega esse dados dos player que estão em .XML
na pasta cujo o directorio é "C:\Release\tmsrv\run\rank" e cadastra no banco de dados.
O game salva as .XML dentro da pasta assim...
<?xml version='1.0' encoding='UTF-8'?>
<Newsletter>
<ranking>
<Nome>tk-doMal</Nome>
<Level>398</Level>
<Gold>0</Gold>
<Classe>1</Classe>
<Str>5</Str>
</ranking>
</Newsletter>
São varias .XML é um .XML para cada player, exemplo "playerfulano.XML, player siclano.XML) e por ai vai! Eu até conseguir fazer esse código que inporta para o banco de dados MySQL porem ele pega somente um arquivo setado e eu gostário que ele pegase todos os arquivos...
Olha com esta meu Código ... ele funciona perfeitamente só que ele só pega um anico arquivo o arquivo que setei "lista_players".
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dados rank Insert</title>
</head>
<body>
<?phpmysql_connect('localhost', 'root', '5836152sc') or die('Erro ao conectar');
mysql_select_db('ranking') or die('Erro ao conectar com o banco de dados');
/ Lê o arquivo XML e recebe um objeto com as informações /
$xml = simplexml_load_file('C:\Release\tmsrv\run\rank\lista_players.xml');
/ Percorre o objeto e salva as informações no banco de dados /
$x = 0;
foreach ($xml as $ranking){
mysql_query("INSERT INTO ranking(Nome, Level, Gold, Classe, Str) VALUES ('$ranking->Nome', '$ranking->Level', '$ranking->Gold', '$ranking->Classe', '$ranking->Str')");
if(mysql_affected_rows() != -1){
$x++;
}
}
echo "$x Dados importados com sucesso!";
?>
</body>
</html>Aqui está o código....
<?php
ini_set('allow_url_fopen', 'on');
error_reporting(E_ALL);
include ("config.php"); // Inclui o arquivo conf.php
/ Conectar com o banco de dados da aplicação /
$con = mysql_connect($serv,$user,$password) or die ("Não foi possível a ****xão com o servidor de banco de dados");
// Criar uma conexão com o banco de dados
mysql_select_db($db) or die ("Não foi possível encontrar o banco de dados especificado");
$path = 'C:/release/tmsrv/run/rank/';
$files = glob( sprintf( '%s*.xml', $path ) );
foreach( $files as $file ){
$temp = file_get_contents($file);
$XmlObj = simplexml_load_string($temp);
$Level = $XmlObj->Level;
$Nome = $XmlObj->Nome;
$Gold = $XmlObj->Gold;
$Classe = $XmlObj->Classe;
$Str = $XmlObj->Str;
mysql_query ("INSERT INTO ranking(Nome, Level, Gold, Classe, Str) VALUES ('$XmlObj->Nome', '$XmlObj->Level', '$XmlObj->Gold', '$XmlObj->Classe', '$XmlObj->Str')");
//die(print_r($file)); // Mostra o Diretorio //return (mysql_affected_rows() == 1) ? true : false;
}
?>
Bom é isso aew espero que possam me ajuda com esse problemão pois vocês são profissionais e eu to apredendo ainda ficaria agradecido... até.
Carregando comentários...