Ir para conteúdo

POWERED BY:

Arquivado

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

isinha101

[Resolvido] erro r+

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

×

Informação importante

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