gremio10 14 Denunciar post Postado Outubro 9, 2010 Galera , como faço para editar uma linha especifica de um txt , já consigo recuperar o valor , mas na hora de editar ele vai em branco ... Alguem tem alguma ideia ? Obrigado. Felipe Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Outubro 10, 2010 Quem vai em branco? Poste seu código e seu txt. Se você consegue recuperar o valor e tem o valor inicial em mãos, já andou 60% do caminho. Provavelmente preg_replace resolve isso de mãos atadas. Até. Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Outubro 10, 2010 Cara , eu fiz isso aqui para editar: public function editar($i){ /** * Lê todo o arquivo para um vetor */ $arr = file('teste.txt'); foreach($arr as $k => $linha) { /** * Passa linha a linha do arquivo */ if($k == $i) $linhas = explode(",",$linha); $this->id = $linhas[0]; $this->nome = $linhas[1]; } } public function editarAcao($codigo,$id,$nome){ $arquivo = "teste.txt"; $linha = file($arquivo); $total = count($linha); $fp = fopen($arquivo,"w+"); for ($i = "0"; $i < $total; $i++){ list($dado1,$dado2) = explode(",",$linha[$i]); if ($codigo == $i){ fwrite($fp,"$id,$nome\n"); }else{ fwrite($fp,"$dado1,$dado2"); } } fclose($fp); } O editar funciona , so que a acao dele que nao funciona e tbm deleta todos os outros. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Outubro 10, 2010 $lines = file( 'arquivo.txt', FILE_IGNORE_NEW_LINES ); $target = 11; // Linha a ser editada. $lines[ $target - 1 ] = 'Novo conteúdo da linha'; file_put_contents( 'arquivo.txt', implode( PHP_EOL, $lines ) ); Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Outubro 11, 2010 André , não funcionou , ele fez o que acontecia antes.... dorga =/ Obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites