Limpar um arquivo txt é algo realmente simples, para isso só devemos ficar atentos para qual modo de abertura utilizaremos para acessar o arquivo por meio da função fopen() do php. Se o utilizarmos o modo “w” ou “w+”, logo após abrirmos o arquivo o mesmo terá seu tamanho reduzido a 0 (zero) sendo portanto, completamente limpo. Vale lembrar que se antes de fechar o arquivo você escrever algo nele esse passará a ser o novo conteúdo do arquivo. Vamos aos exemplos:
Primeiro vamos dar uma olhada no códio que simplesmente apaga todo conteúdo do arquivo:
//abrimos o arquivo em modo w+ o que fará com que o mesmo seja limpo
$f = fopen("arquivo.txt", "w+");
//fechamos o arquivo
fclose($f);
Depois desse passo vamos agora atualizar o arquivo retirando o antigo conteúdo e gravando um novo:
$f = fopen("arquivo.txt", "w+"); //abrimos o arquivo e o limpamos
fwrite($f, "Uma frase\r\n"); //gravamos uma frase
fclose($f); //fechamos o arquivo
Pra finalizar vamos agora fazer uma função onde você passa como parâmentro o arquivo e uma frase pra ser removida do mesmo:
function retiraLinha($arquivo, $linha){
$fc = file($arquivo);
//abre o arquivo e o limpamos
$f = fopen($arquivo, "w+");
//percorre o array com o conteudo do arquivo
foreach ($fc as $line){
//escreve no arquivo todas as linhas que foram diferente daquela passada como parâmetro
if($line!=$linha)
fwrite($arquivo, $line);
}
//fecha o arquivo
fclose($f);
}
Pronto! Simples assim!
Obs1:Vale lembrar que a quebra de linha em arquivo no windows é representada por “/r/n”.
Obs2: Para mais informações, consultar o manual em fopen, fwrite, fclose, file.