Boa tarde pessoal..
estou usando a função fwrite() gravar dados num arquivo texto..
Blz, a primeira vez que eu rodo, ele grava certinho..
Qdo eu rodo de novo, ele grava EMBAIXO do que ja estava escrito o texto NOVO
Mas o que eu quero, é que SUBSTITUA o texto antigo, e não que grave embaixo dele..entende?
Muito brigado desde já!
abraços

Função Fwrite()
Started By screenshotx, 17/09/2007, 12:35
6 replies to this topic
#1
Posted 17/09/2007, 12:35
Iniciante em PHP/MySQL.
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
#2
Posted 17/09/2007, 12:41
O problema não está na função "fwrite()" e sim na função "fopen()", pois que vai definir de que forma o texto será gravado é o parametros "r", "r+", "a", "a+", "w", "w+", "x", "x+" ....
Para o seu caso é aconselhavel o uso do "w" ou "w+":
Veja a Tabela:
http://br.php.net/fopen
Para o seu caso é aconselhavel o uso do "w" ou "w+":
$fp = fopen("arquivo.txt", "w+");
Veja a Tabela:
http://br.php.net/fopen
#3
Posted 17/09/2007, 13:38
Ah sim, entendi, é o "fopen" mesmo..
estou usando o parametro "a".. mas troquei para o "w" e "w+", mas não deu certo..
usando o "a" ele inseria todos os registros do while.. já com o "w" ele gravou no txt só 1 registro..
Porque isso?
Valeu!!
estou usando o parametro "a".. mas troquei para o "w" e "w+", mas não deu certo..
usando o "a" ele inseria todos os registros do while.. já com o "w" ele gravou no txt só 1 registro..
Porque isso?
Valeu!!
Iniciante em PHP/MySQL.
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
#4
Posted 17/09/2007, 13:56
Eu não entendi se você conseguiu ou como está gravando, como assim com "while"? - Tipo assim:
A diferença entre o "a" e o "w" é a seguinte:
a - abre o arquivo só para escrita e coloca o ponteiro no final do arquivo, ou seja se o arquivo já possuir alguns texto ou falor e deixa o que já existir intacto e começara a escrever a partir do final.
w - abre o arquivo para a escrita mas ao contrario do "a" ele apaga todo o texto do arquivo e coloca o ponteiro de gravação no começo e começa escrever como se o arquvo estivesse limpo.
* Mas isso está escrito no manual do PHP ....
while (true) { fwrite($fp, $valor_while); }
A diferença entre o "a" e o "w" é a seguinte:
a - abre o arquivo só para escrita e coloca o ponteiro no final do arquivo, ou seja se o arquivo já possuir alguns texto ou falor e deixa o que já existir intacto e começara a escrever a partir do final.
w - abre o arquivo para a escrita mas ao contrario do "a" ele apaga todo o texto do arquivo e coloca o ponteiro de gravação no começo e começa escrever como se o arquvo estivesse limpo.
* Mas isso está escrito no manual do PHP ....
#5
Posted 17/09/2007, 14:10
Sim.. então eu entendi.. mas não está dando certo..
Por exemplo.. estou fazendo um SELECT na tabela..
O resultado deste select jogo no while "while($row = ifx_fetch_row($result))"
O resultado seria por exemplo:
"TEXTO1;
TEXTO2;
TEXTO3;
TEXTO4;"
Isso que ele grava quando eu uso o parametro "a".
Agora quando eu troco pelo "w", ele grava somente assim, por exemplo:
"TEXTO1"
entendeu? ele grava só o 1 resultado do select..
Valeu
Por exemplo.. estou fazendo um SELECT na tabela..
O resultado deste select jogo no while "while($row = ifx_fetch_row($result))"
O resultado seria por exemplo:
"TEXTO1;
TEXTO2;
TEXTO3;
TEXTO4;"
Isso que ele grava quando eu uso o parametro "a".
Agora quando eu troco pelo "w", ele grava somente assim, por exemplo:
"TEXTO1"
entendeu? ele grava só o 1 resultado do select..
Valeu
Iniciante em PHP/MySQL.
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
#7
Posted 17/09/2007, 14:34
Entao, o script é esse:
Ta dificil rs..
Valeu
while($row = ifx_fetch_row($result)) { $filename = 'relat_os.txt'; $somecontent = "$row[campo01];$row[campo02];\n"; if (is_writable($filename)) { if (!$handle = fopen($filename, 'w')) { print "Erro abrindo arquivo ($filename)"; exit; } if (!fwrite($handle, $somecontent)) { print "Erro escrevendo no arquivo ($filename)"; exit; } print "Sucesso: escrito ($somecontent) no arquivo ($filename)"; fclose($handle); } }
Ta dificil rs..
Valeu
Edição feita por: screenshotx, 17/09/2007, 14:38.
Iniciante em PHP/MySQL.
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
"Ter problemas na vida é inevitável, mas ser derrotado por eles é opcional."
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)