Ir para conteúdo

POWERED BY:

Arquivado

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

alexandre_prog

como alterar linha do arquivo TXT

Recommended Posts

Pessoal, já pesquisei muito sobre como alterar uma determinada parte de um arquivo .txt, mas não estou achando, ler a posição que quero do arquivo, até consegui, mas alterar essa posição ainda não,,,

 

como fazer???

 

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, explica ai direito pra eu poder te ajudar, não entendi muito bem não.

 

Se você tiver usando fopen, fwrite e fclose, tenta usar assim:

 

fopen ("$arquivo.txt", "w");

 

O W é usado pra praticamente limpar todo o documento e escrever de novo.

 

Caso não seje isso, explique melhor o seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, explica ai direito pra eu poder te ajudar, não entendi muito bem não.

 

Se você tiver usando fopen, fwrite e fclose, tenta usar assim:

 

fopen ("$arquivo.txt", "w");

 

O W é usado pra praticamente limpar todo o documento e escrever de novo.

 

Caso não seje isso, explique melhor o seu problema.

Então parceiro, a questão não é limpar o arquivo pra depois editá-lo, a questão é editar apenas uma linha do arquivo!!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode usar a função file() que carregará cada linha num índice de um array

 

exemplo

 

supondo-se que o arquivo "file.txt" possua o conteudo

 

sdgfd dfg dfgdf
567676 5676
LKLKLKLK

para obter a segunda linha

 

<?php
$path = 'file.txt';
$rs = file( $path );

echo $rs[1]; // array inicia com indice 0. Índice 1 significa retornará a segunda linha do txt
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode usar a função file() que carregará cada linha num índice de um array

 

exemplo

 

supondo-se que o arquivo "file.txt" possua o conteudo

 

sdgfd dfg dfgdf
567676 5676
LKLKLKLK

para obter a segunda linha

 

<?php
$path = 'file.txt';
$rs = file( $path );

echo $rs[1]; // array inicia com indice 0. Índice 1 significa retornará a segunda linha do txt
?>

 

Então parceiro, obter eu já consegui, e foi de outro jeito, mas também já sabia dessa maneira, a questão é como ALTERAR apenas a ''linha 1'', nesse seu exemplo, e depois gravar e nova linha com o restante...

 

 

Isso é possível???

 

Já me falaram por ai, pra alterar a linha que quiser, e depois gravar TODO o conteúdo, mas acho que não seria viável pra mim...

 

Obrigado!!

 

 

Fico no aguardo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://www.criarweb.com/faq/mudar-linha-txt.html

 

se não lhe servir este de uma procurada no Google tem bastante coisa por lá.

 

Obrigado parceiro, eu já havia achado esse link no Google também, mas também não suprio minhas necessidades, porque pelo que parece ele não Grava o arquivo texto depois de gravá-lo,

 

 

cinceramente, estou meio sem tempo pra "brincar" com isso agora, depois verei com mais atenção esse link seu,

 

e Volto a postar os resultados,

 

 

mas se alguém tiver outra 'idéia' ai, não seria nada mal!!

 

 

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se esse topico ainda esta aberto, mais uma ves eu estava mechendo em um server de jogo e um codigo assim apareceu, não sei explicar como ele funciona perfeitamente mais ele e exatamente o que voce quer da uma olhada nele

<?php

  $accdir="$dir1";	//°ÑĿ¼Ð޸ijÉÄã×Ô¼ºµÄÕ˺Ŵæ·ÅĿ¼
  $userid=trim($_POST['userid']);
  $password=trim($_POST['password']);
  $newpass=trim($_POST['newpass']);
  $initial=substr($userid,0,1);
  $userlenght=strlen($userid);
  $passlenght=strlen($password);
  $newpasslenght=strlen($newpass);
  
  if(!ereg("^[0-9a-zA-Z]{4,12}$",$userid))
  {echo "O seu ID de Usuario deve ter Caracteres de a-z, A-Z, 0-9 e de 4 a 10 digitos.";exit();}
  if(!ereg("^[0-9a-zA-Z]{4,12}$",$password))
  {echo "A sua Senha Atual deve ter Caracteres de a-z, A-Z, 0-9 e de 4 a 10 digitos.";exit();}
  if(!ereg("^[0-9a-zA-Z]{4,12}$",$newpass))
  {echo "A sua Senha Nova deve ter Caracteres de a-z, A-Z, 0-9 e de 4 a 10 digitos.";exit();}
  if (ereg("^[a-zA-Z]$",$initial))
  {$initial=strtoupper($initial);}
  else
  {$initial="etc";}
  if(!file_exists($accdir."\\".$initial."\\".$userid))
  {
      echo "Ocorreu um erro na alteração da senha";
  }
  else
  {
      $f=@fopen($accdir."\\".$initial."\\".$userid,r) or die("Falha ao Alterar!");
      $acc = @fread($f,9999);
      $oldpass=substr($acc,16,16);
	  $empty=substr($acc,32,15-$newpasslenght);
	  if(strcmp(trim($oldpass), $password)==0)
	  { 
      $acc = substr_replace($acc,$newpass,16, $newpasslenght); 
	  $acc = substr_replace($acc, $empty, 16+$newpasslenght, 15-$newpasslenght);
      $f2=@fopen($accdir."\\".$initial."\\".$userid,w);
      @fwrite($f2,$acc) or die("Fails when modifying!");
      @fclose($f);
      echo "Sua senha foi alterada com sucesso.";
      exit();
	  }
	  else
	  {echo "ÃÜÂë´íÎó";exit();}
  }

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

#11

 

olha a data do tópico...

 

 

e mais.. usando o exemplo do post #5

 

 

 

 

<?php
$path = 'file.txt';
$rs = file( $path );
$rs[1]; // array inicia com indice 0. Índice 1 significa retornará a segunda linha do txt

para alterar a bagaça:
$rs[1] = 'alterado';

// para salvar, 

file_put_contents( 'arquivo.txt' , implode( PHP_EOL, $rs ) );

?>

 

simples assim.. só que o sujeito queria o código prontinho então eu o trolei com aquele link.

rsrsrs

 

 

claro que há outros meios de se resolver.. note que isso é apenas um meio e não "a solução definitiva"..

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.