1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Adicionar caracter em um txt ... PHP

Discussão em 'Web Development' iniciada por ricardoaux, 25 de Fevereiro de 2009. (Respostas: 14; Visualizações: 1560)

Estado do Tópico:
Fechado a novas mensagens.
  1. ricardoaux

    ricardoaux Power Member

    Preciso de um script PHP que permita comentar uma linha de um ficheiro (adicionar # ao inicio).
    A linha sobre a qual deve actuar chega por post da variável $apaga.

    a
    b
    c
    d
    e

    Por exemplo o utilizador quer comentar a linha 3 (array 2) ou seja quer deixar a linha assim # c

    Agradecia a ajuda
     
  2. geoblast

    geoblast Power Member

    Lê o txt para um array, editas o array como queres e reescreves o txt com o array alterado.
     
  3. naoliveira

    naoliveira Power Member

    $var[2] = '# '.$var[2];
     
  4. hostmake

    hostmake Power Member

    Tudo sugestões válidas dadas até agora.

    PHP:
    $h = @fopen("ficheiro.txt""r");
    $i=1;
    if (
    $h) {
    while (!
    feof($h)) {
    $cnt fgets($h4096);
    if (
    $i==$apaga//se for algo numérico que tu recebas
      
    $texto .= "#".$cnt;
    else
      
    $texto .= $cnt;
    $i++;
    }
    }
    No fim tens o ficheiro na variavel $texto, comentado onde é suposto, julgo, não testei.

     
    Última edição pelo moderador: 25 de Fevereiro de 2009
  5. ricardoaux

    ricardoaux Power Member

    esse código não está a adicionar o #
     
  6. hostmake

    hostmake Power Member

    Bem, obrigaste-me a colar isto num .php e testar, and guess what? Funcou.

    E se não percebeste o que eu disse, esse exemplo é caso o $apaga seja um número com a linha (1,2,3)

    Se quiseres comparar texto, faz if ($cnt==$apaga)
     
  7. ricardoaux

    ricardoaux Power Member

    o apaga é numerico
     
  8. hostmake

    hostmake Power Member

    Então é copiar colar o exemplo de código que te dei, sem esquecer da linha que não pus porque dá bug, que está no fim e é suposto ser no inicio.

    Testado e comprovado.
     
  9. ricardoaux

    ricardoaux Power Member

    ou eu estou a compreender mal o teu código ... ou não sei ... no meu não adiciona o #

    este é o código que o vai chamar a função apagar (que neste caso quero adicionar # em vez de apagar)

    <?php
    $file=file('ficheiro.txt');
    $a=0;
    foreach ($file as $line)
    {
    echo $file[$a];
    echo "<form action=apagar.php method=post>";
    echo "<input type='hidden' name='apaga' size='20' value=$a>";
    echo "<input type=submit value=Apagar>";
    echo "</form>";
    echo "<br><br>";
    $a=$a+1;
    }
    ?>
     
  10. ricardoaux

    ricardoaux Power Member

    alguém me pode dar outra ajuda?

    ... desde já agradeço as anteriores
     
  11. ricardoaux

    ricardoaux Power Member

    help me
     
  12. ricardoaux

    ricardoaux Power Member

    como faço para em vez de guardar na variavel $texto guardar no txt
     
  13. ricardoaux

    ricardoaux Power Member

    <html>
    <body>

    <?php

    $apaga = $_POST['apaga'];

    $file = 'ficheiro.txt';
    $data=file($file);
    $n = count($data);
    $i=0;

    for ($i=0; $i <= $n; $i++)
    {
    if ($i == $apaga)
    {
    $data[$apaga] = '# '.$data[$apaga];

    echo $data[$i]; // só para testar
    }
    else
    {
    echo $data[$i]; // só para testar
    }
    }

    echo "Apagou com sucesso";
    echo "<form action=principal.php method=post>";
    echo "<input type=submit value=Voltar></form>";

    ?>

    </body>
    </html>


    Este código apenas adiciona o # na linha desejada mas não guarda no ficheiro txt, nem nada
     
    Última edição: 26 de Fevereiro de 2009
  14. ricardoaux

    ricardoaux Power Member

    resolvido!

    tenho outra dúvida ... se tiver por exemplo:


    TXT


    a
    b

    c

    d
    e
    f

    Como faço para não apresentar os espaços graficamente (ou seja na página), mas manter os espaços no ficheiro txt? ... n sei se me compreenderam?

    página

    a
    b
    c
    d
    e
    f
     
  15. Armadillo

    Armadillo Folding Member

Estado do Tópico:
Fechado a novas mensagens.

Partilhar esta Página