isinha101 0 Denunciar post Postado Maio 6, 2010 Oi pessoal! Estou com um problema aqui no meu código PHP. Eu li que para abrir um arquivo, o r+ é pra leitura e gravação. Se o arquivo já existir, iele grava no início do arquivo. É exatamente isso que eu quero! Só que, por algum motivo, quando eu digito algo novo apaga tudo que tinha no arquivo anteriormente. Alguém sabe como resolver isso? Ai vai o código da página abrindo o arquivo: <?php $arquivo = 'posts.txt'; $fp = fopen($arquivo,'r+'); $title = $_POST["title"]; $posts = $_POST["posts"]; fwrite($fp, $title); fwrite($fp, "\n\n"); fwrite($fp, $posts); fwrite($fp, "\n\n ----.---- FIM ----.---- \n"); fclose($fp); // fecha o arquivo ?> Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 7, 2010 Já tentou w+? Compartilhar este post Link para o post Compartilhar em outros sites
isinha101 0 Denunciar post Postado Maio 7, 2010 Já, acontece a mesma coisa =/ Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 7, 2010 Eu costumo usar: a http://www.php.net/manual/en/function.fopen.php Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 7, 2010 Bruno, A é para Append, vai posicionar o ponteiro no FINAL do arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 7, 2010 Sim, mas então: o problema quando eu digito algo novo apaga tudo que tinha no arquivo anteriormente.com a ele vai gravar no arquivo, e não sobrescrever oque já tinha. agora se ele quer realmente gravar no inicio ai precisa ler, guardar oque tinha, organizar como ele quer, e só então escrever ne?! ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 7, 2010 Eu pensei nisso também William, mas nem falei porque queria esperar se alguem tem outra solução. To vendo que vai ser assim mesmo né. Algo assim: <?php $append = 'Conteúdo a ser adicionado no início do arquivo.'; file_put_contents( 'arquivo.txt', $append . file_get_contents( 'arquivo.txt' ) ); ?> Compartilhar este post Link para o post Compartilhar em outros sites
isinha101 0 Denunciar post Postado Maio 10, 2010 André, brigada, isso já ajuda bastante! O problema é que eu preciso adicionar 3 variáveis no arquivo, não apena uma frase, por exemplo. Dai como eu faço? =T Eu tentei fazer um array: $postnovo[0] = $data; $postnovo[1] = $title; $postnovo[2] = $posts; file_put_contents( 'posts.txt', $postnovo . file_get_contents( 'posts.txt' ) ); mas não deu muito certo. hahahaa :huh: Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 10, 2010 que tal simplificar ? sabe fazer com uma 'frase' ? então transforme em uma frase: $postnovo = $data.' '.$title.' '.$posts; e então, agora você insere o $postnovo Compartilhar este post Link para o post Compartilhar em outros sites
isinha101 0 Denunciar post Postado Maio 10, 2010 William, brigada!!! Ficou exatamento como eu queria! Brigada a todos pela ajuda! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites