Ir para conteúdo
Fórum Script Brasil
  • 0

Txt


Guest - Filipi -

Pergunta

Guest - Filipi -

Oi, tenho um codigo no qual qd digito algo ele grava em um txt, eu usei o a+, pra ele criar o txt casa ele não exista, mas queria q alem dele criar, tudo q eu escreve-se ele fosse adicionando acima e não abaixo, se eu usar o r+, ele não cria o txt, se alguém poder me ajudar vou ser muito grato... cool.gif

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Se você quer a coisa pronta não vou passar, mas vou ficar feliz em te ajudar até que você entenda e consiga fazer... smile.gif

Vou te passar o link para algumas funções, dá uma lida nela e vê como elas funcionam. Depois, tente montar um script que só pega o conteúdo de um arquivo *.txt e mostra na tela, é bem simples... smile.gif

· http://br.php.net/function.file-get-contents

· http://br.php.net/function.file

· http://br.php.net/function.fopen

· http://br.php.net/function.fread

· http://br.php.net/function.fclose

Se não conseguir, posta aí o script que você fez e a gente mostra os erros, diz como é o melhor jeito e tal... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Filipi -

Eu estava tentando com o comando if, mas já inverti as coisas já mudei e desmudei e o maximo que consigo é fazer funcionar um ou outro...

<?

$nome=$_POST['nome'];

$caixa =$_POST['caixa'];

$conteudo=$caixa;

$caminho = "../txt";

$txt = "../txt/$nome.txt";

if(!$txt)

{

$gravar = fopen("$caminho/$nome.txt", 'r+');

}

else

{

$gravar = fopen("$caminho/$nome.txt", 'a+');

}

flock($gravar, LOCK_EX);

if(!$gravar)

{

echo '<p><strong> Seu pedido não pode ser processado no momento.'

.'Por favor, volte depois.</strong></p>';

exit;

}

// fwrite($gravar, $conteudo);

fwrite($gravar, "<font color=#FF6600><b>Nome:</b></font> $nome<br>

<b><font color=#FF6600>Conteudo:</font></b> $conteudo<br>

<br><center><hr></center>");

flock($gravar, LOCK_UN);

fclose($gravar);

echo '<p>Pedido efetuado.</p>';

?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Filipi -

Valeu pela dica de veficar se o arquivo existe, agora ele ta criando o arquivo se ele não existir, mas continua gravando em baixo, eu já inverti as bolas so que ai ele da um erro, se der vocês podem me falar porque ele não ta gravando em cima ainda..?

Mas já ta valendo so pela antenção que vocês estão dando...

<?

$nome=$_POST['nome'];

$caixa =$_POST['caixa'];

$conteudo=$caixa;

$caminho = "../txt";

$file = '$caminho/$nome.txt';

//TENTA gravar O ARQUIVO TXT

if (file_exists($file))

{

$gravar = fopen("$caminho/$nome.txt", 'r+');

}

else

{

$gravar = fopen("$caminho/$nome.txt", 'a+');

}

flock($gravar, LOCK_EX);

if(!$gravar)

{

echo '<p><strong> Seu pedido não pode ser processado no momento.'

.'Por favor, volte depois.</strong></p>';

exit;

}

rewind ($gravar);

//fwrite($gravar, $conteudo);

fwrite($gravar, "<font color=#FF6600><b>Nome:</b></font> $nome<br>

<b><font color=#FF6600>Conteudo:</font></b> $conteudo<br>

<br><center><hr></center>");

flock($gravar, LOCK_UN);

fclose($gravar);

echo '<p>Pedido efetuado.</p>';

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Isso aqui também não vai funcionar:

if(!$gravar)

Pra confirmar, faz um teste... antes desse if, coloca um:

echo "gravar: ".$gravar."<br>";

E tenta causar um erro de propósito... vai dar um erro de script e não vai nem chegar ali. smile.gif

Então esse if não tem utilidade nenhuma. Se você quiser fazer alguma coisa caso dê erro ao abrir o arquivo, faça assim:

$file_handler = @fopen("arquivo.txt","a+") or die("Não deu pra abrir o arquivo, não...");

Sendo que ali, o @ serve pra ocultar um possível erro que a função mostre e o die(*) é o que será executado caso aconteça um erro. Dentro do die você pode chamar outra função PHP, não tem problema nenhum...

Capisce? happy.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...