Fernando Souza
Como deletar uma linha de um arquivo txt pelo php?
21 de June de 2010 às 07:46PM
No titulo já diz tudo =/
Tentei desenvolver isso porém nao obtivi sucesso
=/
será que alguem pode dar uma luz de como fazer isso?
so iniciante em php =/
preciso deste codigo para implementar o meu site.
Att
Fernando,
Carlos Eduardo Gomes Monteiro
Re: Como deletar uma linha de um arquivo txt pelo php?
22 de June de 2010 às 03:57AM
Tenta isso...

<?php
$linhaExcluir = "Vai ser sofrido";

$handle = fopen("brasil.txt", "r");
if ($handle) {
while (!feof($handle)) {
$lines = fgets($handle, 4096);
if($lines != $linhaExcluir){
$gravar .= $lines;
}
}
fclose($handle);
file_put_contents("brasil.txt", $gravar);
}
?>

O conteúdo do TXT seria isso abaixo

#########################################
O Brasil será Hexacampeão
Trará a taça para casa!
Vai ser sofrido
Mas vamos ganhar
#########################################

Veja se isto presta!!!

FAlou
Fernando Souza
Re: Como deletar uma linha de um arquivo txt pelo php?
22 de June de 2010 às 08:17PM
tentei
=/
nao deletou
Fernando Souza
Re: Como deletar uma linha de um arquivo txt pelo php?
28 de June de 2010 às 05:28AM
Fernando Souza
Re: Como deletar uma linha de um arquivo txt pelo php?
28 de June de 2010 às 05:28AM
alguem sabe?
tentei como o carlos disse e naofoi
Marcos Regis
Re: Como deletar uma linha de um arquivo txt pelo php?
28 de June de 2010 às 05:19PM
Cara, primeiro você precisa indicar como quer eliminar a linha.
Algum parâmetro a ser comparado? É uma linha específica?
Isso é algo tão simples de fazer que se você não indicar qual a real situação vai ter dezenas de possibilidades.

Eis uma delas.

$arr = file('arquivo.txt'); // Lê todo o arquivo para um vetor

foreach($arr as $k=>$linha)
{
// passa linha a linha do arquivo
if($linha=='Texto a ser comparado')
unset($arr[$k]); // Elininando a linha
}

Reescrevendo o arquivo
file_put_contents('arquivo.txt',$arr);
Jefrey Sobreira Santos
Re: Como deletar uma linha de um arquivo txt pelo php?
01 de December de 2010 às 01:32PM
eu faço assim:
<?php
// Configure aqui
$linha = "Jogue a pedra na mãe, vagabundo!"; // conteudo da linha a ser retirada
$substituirpor = ""; //deixe em branco para simplesmente apagar a linha
$arquivo = "arquivo.txt";

$conteudo = file_get_contents($arquivo); // pega o conteúdo do arquivo e carrega-o em uma variável
$novoconteudo = str_replace($linha, $substituirpor, $arquivo); // cria um novo conteúdo
$gravar = fopen($arquivo, "w"); // abre o arquivo para escrita
fwrite($gravar, $novoconteudo); // grava o arquivo novamente, mas sem a linha
fclose($gravar); // fecha o arquivo
?>

Conteúdo de arquivo.txt

Joguei uma pedra na água
De tão pesada foi ao fundo
E os peixinhos gritaram
Jogue a pedra na mãe, vagabundo!

Eu sempre fiz assim, mas na verdade, deve haver alguma maneira de excluir determinada linha, indicada por números, mas eu ainda não sei como é.
Obs.: Não testei, mas deve funcionar.
Jefrey Sobreira Santos
Re: Como deletar uma linha de um arquivo txt pelo php?
01 de December de 2010 às 01:58PM
Corrigindo o meu post acima, troque essa linha:
$novoconteudo = str_replace($linha, $substituirpor, $conteudo); // cria um novo conteúdo
por essa:
$novoconteudo = str_replace($linha, $substituirpor, $conteudo); // cria um novo conteúdo
Diego
Re: Como deletar uma linha de um arquivo txt pelo php?
14 de February de 2017 às 07:00PM
Dessa Forma eu te ganranto funcionar kkkkk

forma ja testada.


<?php

//Ler o arquivo
$linhas = explode("\n", file_get_contents("./arquivo.txt"));

//Ler somente o conteudo da linha [0] do array ou seja linha 1 do texto
//Para linha "2" e so colocar [1] assim.
$linha_n = $linhas[0];

// Abre o arquivo e coloca o ponteiro no final
$arquivo = fopen('arquivo.txt','r+');
if ($arquivo) {
while(true) {
$linha = fgets($arquivo);
if ($linha==null) break;


// Busca o conteudo que vai ser alterado
if(preg_match("/$linha_n/", $linha)) {
$string .= str_replace("$linha_n", "Diego", $linha);
} else {
// Vai colocando tudo numa nova string
$string.= $linha;
}
}
// Move o ponteiro para o inicio pois o ftruncate() nao fara isso
rewind($arquivo);

// Apagar todo o conteudo
ftruncate($arquivo, 0);

// reescreve o conteudo do arquivo
if (!fwrite($arquivo, $string)) die('Não foi possível atualizar o arquivo.');
echo 'Arquivo atualizado com sucesso';
fclose($arquivo);
}

?>

Agora e so torcar Diego por "" Nada e sua linha vai ser reescrita com um vazio.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.