[duvida] Sistema Arquivo Texto
#1
Posted 31/01/2007, 12:37
nome="joao" senha="joao123"
e eu nao estou conseguindo fazer com que eu troque apenas o "joao" e "joao123"
alguem pode me dar uma luz?
vlw
#2
Posted 31/01/2007, 14:44
Se for para trocar por vazio use str_replace:
http://www.php.net/m...str-replace.php
$linha = str_replace(array("nome=", "senha="), "", $valor_linha);
#3
Posted 31/01/2007, 15:00
Aí vc pode usar a função parse_ini_file() para ler o conteúdo para um array...
Não sei de uma função que pegue esse array deposi e transforme no arquivo para gravar, mas vc pode construir isso!! .
Só um detalhe, não tem como substituir.. faça como o cara aí falou, leia o arquivo, substitua com str_replace ou expressões regulares (ereg) e depois grave no arquivo novamente.
[ Blog Desenvolvimento Web: http://www.newtonwagner.net/blog ]
[ Diário da Selva: http://www.diariodaselva.com/ ]
[ "Não existe um caminho para a paz; a paz é o caminho." Mahatma Gandhi ]
#4
Posted 31/01/2007, 15:03
Digo por experiencia própria... fique atento a isso ...
#5
Posted 31/01/2007, 15:45
Por que você não cria um arquivo nos padrões da extensão .INI.
Aí vc pode usar a função parse_ini_file() para ler o conteúdo para um array...
Não sei de uma função que pegue esse array deposi e transforme no arquivo para gravar, mas vc pode construir isso!! .
Só um detalhe, não tem como substituir.. faça como o cara aí falou, leia o arquivo, substitua com str_replace ou expressões regulares (ereg) e depois grave no arquivo novamente.
A função file().
#6
Posted 03/02/2007, 22:15
tenho um arquivo xml +/- assim:
<cliente nome="joao" senha="joao123">
<telefones>
<telefone casa="555-5555">
</telefones>
</clientes>
e eu estava era precisando trocar senha e telefone...tentei de varias maneiras e dei uma loonga procurada no site php.net mais ta dificil...alguem pode me ajudar com esse problema?
#7
Posted 03/02/2007, 22:37
Mas assim se vc estiver rodando no PHP 5 tem uma função que vc pode usar que é babinha pegar os valores do XML e depois tratar do jeito que quiser é essa:
http://br.php.net/ma...l-load-file.php
Mas assim se for em um PHP antes que o 5 vc vai ter que fazer ou pegar uma classe ou funçõe expecifica de XML e juntas forma um conjunto ... para saber quais as funções leia ai:
http://br.php.net/ma..._BR/ref.xml.php
http://br.php.net/ma...f.simplexml.php
Dentre outras ...
Edição feita por: sk15, 03/02/2007, 22:40.
#8
Posted 03/02/2007, 23:12
tipo tentei com um codigo assim:
$arquivo = simplexml_load_file('teste.xml');
$trocar = str_replace(array('<telefones>', '</telefones>'), '<telefone casa="555-5551">', $arquivo->asXML());
mas naum aparece nada..
estou fazendo algo de errado?
PS: eh php5 sim
#9
Posted 04/02/2007, 00:45
Para isso você usaria apenas funções de leitura de arquivo. (e.g. file_get_contents()).
<?php // Exemplo de source $str = '<cliente nome="joao" senha="joao123">'; // Nome de usuário para busca $user = 'joao'; // Novos dados $new_user = 'x'; $new_pass = 'y'; // Alteração $str = preg_replace('/(<cliente nome=")' . $user . '(" senha=")[^\x22]+/', '\1' . $new_user . '\2' . $new_pass, $str); // Exibindo print htmlentities($str); ?>
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#10
Posted 04/02/2007, 01:19
mais como eu faria isso com um arquivo xml? =x
eh que eu preciso pegar o nome e senha de um arquivo xml e depois trocar pela nova senha...
tipo...cabei de conseguir ler eles separadamente.. criei um arquivo xml assim apenas para teste
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <chat> <message> <timestamp>1161790302</timestamp> <author>Maugrim</author> <text>Hello World!</text> <timestamp>11617903021</timestamp> <author>Maugrim1</author> <text>Hello World1!</text> </message> </chat>
e usei o php dessa maneira
<? $xml = simplexml_load_file('teste.xml'); foreach($xml->message as $message) { $timestamp = $message->timestamp; $author = $message->author; $text = $message->text; echo 'Date: ', date($timestamp), ' Author: ', $author, ' Message: ', $text, '<br />'; } ?>
e funcionou certinho...soh q pegando ele linha por linha...eu precisaria pegar ele todo em uma string para depois tratar ela, que seria trocar os dados, e sobrescrever dinovo no xml certo?
alguem sabe como eu poderia fazer isso?
agradeco desde ja..pq ta osso
#11
Posted 04/02/2007, 04:28
#12
Posted 04/02/2007, 12:10
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)