ajout d'un caractère en debut de ligne dans un fichier txt

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ajout d'un caractère en debut de ligne dans un fichier txt

Re: ajout d'un caractère en debut de ligne dans un fichier txt

par gesualda » 31 déc. 2021, 13:07

Je me permets de revenir car j'ai toujours pas trouvé la bonne formule. Quelqu'un d'autre pour m'orienter svp ? merci

Re: ajout d'un caractère en debut de ligne dans un fichier txt

par gesualda » 30 déc. 2021, 19:33

bonjour OR 1 et merci d'avoir répondu. J'ai modifié ainsi, mais je vois pas trop comment comparer la checkbox avec la ligne corresponde. La valeur est récupérée de la coche, mais n'inscrit pas le rajout dans le fichier
foreach($_POST['valid'] as $valid ){
            echo "Numéro de checkbox cochée : " .$valid. "<br>" ;           
        }
        for($i = 0; $i < $ligne_cpt; $i++) {   
            
            if($valid == $cpt[$i]){
            
            if(!preg_match("[#]", $cpt[$i])) {
                $txt   = str_replace('','#', $ligne_cpt ) ;
                $result = file_put_contents($chemin ,$txt);
            }
        }
        }

Re: ajout d'un caractère en debut de ligne dans un fichier txt

par or 1 » 30 déc. 2021, 18:36

for($i = 0; $i < $ligne_cpt; $i++) {

}

pour parcourir le tableau. tester si la case à cocher correspondant à la ligne a été cochée. si oui, alors, modifier le contenu du tableau avec la nouvelle valeur de la ligne. si non, ne rien faire. après la boucle file_put_contents

ajout d'un caractère en debut de ligne dans un fichier txt

par gesualda » 30 déc. 2021, 18:27

Bonjour à tous,

Je me permets de venir vers vous, je n'arrive pas à trouver la solution tout seul.

J'ai un fichier txt qui comporte un certain nombre de ligne. Pour pouvoir modifier ce dernier, et rajouter => # <= j'appelle le fichier dans des checkbox formulaire :

Code : Tout sélectionner

<form action="" method="post"> <fieldset> <legend> Pour déactiver un module, Cocher et Valider</legend> <h2>Modules actifs</h2> <?php $val = 01; for($i = 0; $i < $ligne_cpt; $i++) { if(!preg_match("[#]", $cpt[$i])) { ?> <div class="elem"> <i class="fa-solid fa-check ivert"></i> <input type="checkbox" name="valid[]" id="" value="<?= $val++ ?>" > <label for=""><?= $cpt[$i] ?></label> </div> <div class="form-button"> <button type="submit" name="env_1">Modifier les selections</button> </div> </fieldset> </form>
Pour le control je procède ainsi :
    $path = './Fichier_test/';
    $fichier = 'exemple';
    $ext = '.conf';
    $chemin = $path . $fichier . $ext ;

 if (file_exists($chemin)) {
         $cpt = file($chemin);
         $ligne_cpt = count($cpt);         
}

if(isset($_POST['env_1'])){

    if(!empty($_POST['valid'])){
        foreach($_POST['valid'] as $valid ){
            echo "Numéro de checkbox cochée : " .$valid. "<br>" ;           
        }
        for($i = 0; $i < $ligne_cpt; $i++) {   
            if(!preg_match("[#]", $cpt[$i])) {
                $txt   = str_replace('','#', $ligne_cpt ) ;
                $result = file_put_contents($chemin ,$txt);
            }
        }
      }       
    else{
        echo "Vous n'avez rien selectionner, aucune modification a été apportée !";
    }
}
Le soucis, c'est que procéder ainsi, m'efface l'ensemble du fichier, alors que le but est tout simplement d'ajouter le caractère.
Une petite idée pour un coup de main ?

Merci