Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcos.lavorato

lendo e gravando

Recommended Posts

Olá pessoal, estou com um sério problema, tenho um xml onde tem os ip's dos clientes gravados, e toda vez que exibe a página grava o ip neste xml, mas como o xml tem a sua estrutura, tem que fechar a tag master no final, e no php se mandar ele somente gravar a última linha ele vai gravar várias finais, precisava que tipo ele abrisse o arquivo apagasse a ultima linha e gravase nas intermediarias, entenderam?Grato,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala amigo!

 

Olá pessoal, estou com um sério problema, tenho um xml onde tem os ip's dos clientes gravados, e toda vez que exibe a página grava o ip neste xml, mas como o xml tem a sua estrutura, tem que fechar a tag master no final, e no php se mandar ele somente gravar a última linha ele vai gravar várias finais, precisava que tipo ele abrisse o arquivo apagasse a ultima linha e gravase nas intermediarias, entenderam?

:huh: Olha, acho que eu não entendi muito bem não.

 

Mostra o modelo do código para gente, como você queria que ficasse. Ex:

 

<xml>(conteúdo)</xml>

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, lah vai ele, a estrutura do xml é está.

<?xml version="1.0" encoding="UTF-8" ?> <master><ip>127.0.0.1</ip><ip>127.0.0.1</ip></master>
Gravar é simples dou um write <ip><$valor></ip> mas para fechar a tag master </master> eu precisaria que ele gravasse, sóque se eu gravar ele vai ficar com várias, entçao, ou ele apaga a ultima linha ou grava no lugar especifico, no meio.

 

Código PHP.

<?$remote = $_SERVER["REMOTE_ADDR"];$file = "usuarios.xml";$timeoutseconds = 60; //Tells how long the user is considered "on line"$timestamp = time();$timeout = ($timestamp-$timeoutseconds);$fp = fopen("$file", "a+");$write = "<ip>$remote</ip>";fwrite($fp, $write);fclose($fp);$online_array = array();$file_array = file($file);foreach($file_array as $newdata){list($ip, $time) = explode("||", $newdata);if($time >= $timeout){array_push($online_array, $ip);}}$online_array = array_unique($online_array);$online = count($online_array);if($online == "1"){echo "Usuários Online: $online";}else{echo "Usuários Online: $online";}?>

entenderam? não saber explicar o que eu quero é bem complicado <_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, acho que esta matéria vai lhe ajudar bastante:

 

http://www.phpbrasil.com/articles/article.php/id/129

 

 

Dê uma olhada nos comentários também, para ver como se locomover no arquivo txt.

 

Você tem que ir até o fim do arquivo, apagar a última linha (</master>) e depois inserir os dados novos (com o </master> junto).

 

 

Qualquer coisa pergunta aí!

 

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.