Ir para conteúdo

POWERED BY:

Arquivado

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

douglasdepaula

Procurar Linha em TXT e substituir

Recommended Posts

Fala Douglas

 

Cara, acredito que o que você deseja, seja algo desse tipo:

 

<?php
	$arquivo = "nome_arquivo.txt";
	$le_arquivo = fopen($arquivo, "r+");
	
	if ($le_arquivo) {
		while (!feof($le_arquivo)) {
			$buffer = fgets($le_arquivo, filesize($arquivo));
			$novo_buffer = str_replace("Joao", "nova_palavra", $buffer);
		} // fim while (!feof($le_arquivo))
	} // fim if ($le_arquivo)
?>

Esse é só um exemplo simples, onde você lê um arquivo e sempre que encontrar a palavra "Joao", altera por uma que você queira utilizando str_replace

 

Espero ter ajudado ^^

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oia eu colokei assim o codigo

<?php
$arquivo = "arquivo.txt";
$le_arquivo = fopen($arquivo, "r+");

$buffer = fread($le_arquivo, filesize($arquivo));
$novo_buffer = str_replace("Joao", "Palavra", $buffer);
fwrite($le_arquivo, $novo_buffer, strlen($novo_buffer) + 5);
fclose($le_arquivo);

?>

mais naum funciono direito, antes de excutar a pagina php

o arquivo.txt era

Maria

Jose

Joao

 

 

ai depois de executa o php fiko

 

Maria

Jose

JoaoMaria

Jose

Palavra

 

fiko doido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

<?php

//Defina aqui as configuraçoes
$arquivo = "nomedoarquivo.txt";   // Arquivo para abrir
$procurar = "Joao";   // Palavra que sera substituida
$colocar = "Outra palavra";   // Palavra que ficara no lugar

//Obtem o conteudo do arquivo
$obter = file_get_contents($arquivo);
$novo = str_replace($procurar, $colocar, $obter);

//Exibe o novo texto (modificado)
echo $novo;

//Grava o novo texto (modificado) no arquivo
$gravar = fopen($arquivo, "w");
fwrite($gravar, $novo);
fclose($gravar);

?>
Obs.: Nao testei, mas acho que funfa!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se alguém ainda estiver precisando encontrei a seguinte solução:

Opção 1 (Ler de um arquivo e escrever em outro):

<?php
	$arquivo = "arquivo.txt";
	$novo_arquivo = "nome_arquivo.txt";
	$le_arquivo = fopen($arquivo, "r");	
	
	if ($le_arquivo) {
		$novo_buffer = '';
		
		while (!feof($le_arquivo)) {
			$buffer = fgets($le_arquivo, filesize($arquivo));
			$novo_buffer .= str_replace("Joao", "nova_palavra", $buffer);			
		}
		
		fclose($le_arquivo);
		
		$escreve_arquivo = fopen($novo_arquivo, "w");
		
		if($escreve_arquivo) {
			fwrite($escreve_arquivo, $novo_buffer);
		}
		
		fclose($escreve_arquivo);
	}	
?>

Opção 2 (Ler um arquivo e salvá-lo nele mesmo):

<?php
	$nome = "arquivo.txt";
	$arquivo = fopen($nome, "r+");	
	
	if ($arquivo) {
		$novo_buffer = '';
		
		while (!feof($arquivo)) {
			$buffer = fgets($arquivo, filesize($nome));
			$novo_buffer .= str_replace("Joao", "nova_palavra", $buffer);			
		}
		
		ftruncate($arquivo, 0);
		rewind($arquivo);
		fwrite($arquivo, $novo_buffer);
		fclose($arquivo);
	}	
?>

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.