Guest alexandre_prog Postado Setembro 17, 2008 Denunciar Share Postado Setembro 17, 2008 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!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pedro Gaz Postado Setembro 17, 2008 Denunciar Share Postado Setembro 17, 2008 Essa função $file_lines = file('arquivo');ela te retorna todas as linhas do arquivo em um array,-----------------------Ex. arquivo.txtlinha1linha2linha3------------------------echo $file_lines[0] //imprimi a primeira linha 'linha1'para alterar é simples:$file_lines[0] = "nova linha";beleza? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ikkinet Postado Setembro 18, 2008 Denunciar Share Postado Setembro 18, 2008 Uma característica é que, na teoria, não tem como mudar apenas uma linha..Como o meu xará disse, o que se faz é ler o conteúdo do arquivo para um array, modifica o arquivo e reescreve tudo de novo no arquivo..Mudar somente determinada linha, até onde sei, não dá.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pedro Gaz Postado Setembro 18, 2008 Denunciar Share Postado Setembro 18, 2008 Como falei antes, da para mudar sim... pelo menos com a função file sim.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest alexandre_prog Postado Setembro 18, 2008 Denunciar Share Postado Setembro 18, 2008 Como falei antes, da para mudar sim... pelo menos com a função file sim..Muito Obrigado,,, até ai está Beleza pra mim, mas como eu faço pra alterar, porque 'pegar' essa determinada linha não é tão difícil, mas se eu fizer algo assim:fopen ("$arquivo.txt", "w");ele limpará todo o arquivo, então como abrir ele pra edição, e alterar somente aquela linha??Muito Obrigado!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 18, 2008 Denunciar Share Postado Setembro 18, 2008 Você vai ter que ler o arquivo, passar para um array (como já foi dito), alterar o índice específico do array e ai regravar tudo no arquivo, note que essas funções não substituem bancos de dados (onde você pode fazer exatamente o que está tentado). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest alexandre_prog Postado Setembro 18, 2008 Denunciar Share Postado Setembro 18, 2008 Será mesmo que vou ter que ler o arquivo e alterar o que tiver que alterar, e depois gravar TUDO novamente???Será que seria viável??Não terá muitos dados nesse arquivo TEXTO, mas será que vale a pena fazer essa gambiarra???Muito Obrigado!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diego Augusto Postado Fevereiro 14, 2017 Denunciar Share Postado Fevereiro 14, 2017 Amigo é so fazer assim: <?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 $linha_n = $linhas[0]; // abre o arquivo colocando o ponteiro de escrita no final $arquivo = fopen('arquivo.txt','r+');if ($arquivo) { while(true) { $linha = fgets($arquivo); if ($linha==null) break; // busca na linha atual o conteudo que vai ser alterado if(preg_match("/$linha_n/", $linha)) { $string .= str_replace("$linha_n", "Diego", $linha); } else { // vai criar uma nova string $string.= $linha; } } // move o ponteiro para o inicio do arquivo rewind($arquivo); // Apaga o conteudo ftruncate($arquivo, 0); // reescreve o conteudo dentro do arquivo if (!fwrite($arquivo, $string)) die('Não foi possível atualizar o arquivo.'); echo 'Arquivo atualizado com sucesso'; fclose($arquivo); } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 valdeilton Postado Abril 12, 2017 Denunciar Share Postado Abril 12, 2017 Em 14/02/2017 at 15:44, Diego Augusto disse: Amigo é so fazer assim: <?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 $linha_n = $linhas[0]; // abre o arquivo colocando o ponteiro de escrita no final $arquivo = fopen('arquivo.txt','r+');if ($arquivo) { while(true) { $linha = fgets($arquivo); if ($linha==null) break; // busca na linha atual o conteudo que vai ser alterado if(preg_match("/$linha_n/", $linha)) { $string .= str_replace("$linha_n", "Diego", $linha); } else { // vai criar uma nova string $string.= $linha; } } // move o ponteiro para o inicio do arquivo rewind($arquivo); // Apaga o conteudo ftruncate($arquivo, 0); // reescreve o conteudo dentro do arquivo if (!fwrite($arquivo, $string)) die('Não foi possível atualizar o arquivo.'); echo 'Arquivo atualizado com sucesso'; fclose($arquivo); } ?> Legal .. Esse escript me serviu.. Obrigado !!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 valdeilton Postado Abril 12, 2017 Denunciar Share Postado Abril 12, 2017 Como ficou com minhas ... <?php echo 'Rodando arquivos .PHP <br>'; $include="db_stdlibwebseller_saude.php"; //arquivo que deve ser incluido $arquivos="sau1_sau_prestadores000.php func_consultamedicaprontuarios.php sau1_sau_prestadores002.php edu4_classificacao.RPC.php edu4_classificacao.php"; //arquivos de procura $linha_n = "db_stdlibwebseller.php";// Procura pela ocorrencia dentro do arquivo $explode=explode(" ",$arquivos); foreach ($explode as $key => $value) { echo "Arquivo procurado:::".$value."<br>"; if(file_exists($value)){ chmod($value, 0777); }else{ echo "<font size='3' color='green'> arquivo não existe::: {$value} </font>"; continue; } //Ler o arquivo $linhas = explode("\n", file_get_contents("./{$value}")); // abre o arquivo colocando o ponteiro de escrita no final $arquivo = fopen($value,'r+'); if ($arquivo) { while(true) { $linha = fgets($arquivo); if ($linha==null) break; // busca na linha atual o conteudo que vai ser alterado if(preg_match("/$linha_n/", $linha)) { $string .= str_replace("$linha_n",$include, $linha); $mudanca=str_replace("$linha_n",$include, $linha); $countlinha=substr_count($string, "\n"); echo "<font size='3' color='red'>Padrao encontrado:: {$value} <br>Linha afetada:::: {$linha} <br> Mudança:: {$mudanca} <br> Linha de ocorrencia ::: {$countlinha} </font>"; echo "<br>"; } else { // vai criar uma nova string $string.= $linha; } } // move o ponteiro para o inicio do arquivo rewind($arquivo); // Apaga o conteudo ftruncate($arquivo, 0); // reescreve o conteudo dentro do arquivo if (!fwrite($arquivo, $string)) die('Não foi possível atualizar o arquivo.'); fclose($value); } unset($string); } ... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest alexandre_prog
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!!
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.