Allez a la fin d'une ligne en Php

Résolu
Shinegans Messages postés 62 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je m'explique j'ai actuellement un script qui me permet de trouver un élement dans mon fichier php a l'aide d'une spécificité ce trouvant au début de la ligne hors je dois réécrire a la fin de cette dèrniere et ca taille est varriable

ma question est donc de savoir comment peut on "compter" le nombre de caractere avant le retour a la ligne ?

J'avais penser en trouvant la position du début de la suivante mais malheureusement je ne sais pas ce qu'elle contient :(

une autre solution serait de copier le contenue de la ligne et de le "coller" a la fin du fichier mais la encore je n'ai pas d'idée de solution pour cela

Ps ( Je vous remercie tous car depuis que j'ai débuté le php vous m'êtes d'une grande aide )

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Si ton but est d'aller écrire quelque chose à la fin d'une ligne particulière ...
    le plus simple serait de lire ton document ligne/ligne (avec la fonction FILE du départ ^^ )
    puis de boucler sur chacune de ces lignes...

    Un truc du genre :
    var $buffer="";
    $file = "inputfile.txt";
    $handle = fopen($file, "r");
    if ($handle) {
        while (($line = fgets($handle)) !== false) {
            // lecture ligne par ligne...
            $buffer .= $line;
            $pos=strpos($line ,$test);
           if($pos !== false){
             $buffer .= " ce que tu veux ajouter !" ;
           }
        }
      fclose($handle);
    }
    // ensuite  tu y réécris le buffer
    file_put_contents($file, $buffer);
    
    


    1
    1. Shinegans Messages postés 62 Statut Membre 2
       
      et ca va réécrire toute la ligne a sa place d'origine ?
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Ca va réécrire tout le fichier avec à sa place d'origine la ligne modifiée.

      PS: J'ai oublié les retours à la ligne dans la variable buffer ...
      il faut modifier le code comme suit :
      
          while (($line = fgets($handle)) !== false) {
              // lecture ligne par ligne...
              $buffer .= $line;
              $pos=strpos($line ,$test);
             if($pos !== false){
               $buffer .= " ce que tu veux ajouter !" ;
             }
             $buffer .= "\n";
          }
      


      PS2 : j'ai écrit de tête sans tester .. il y aura peut être des erreurs...
      Dis le si c'est le cas.


      Après.. il existe d'autres façons de faire ;...
      Avec une REGEX par exemple .... mais comme tu ne nous à pas indiqué ce que contenait ton fichier ni quel était la chaine de caractères qui te permettais de choisir la ligne à modifier .. impossible de t'en dire plus.

      Enfin bon.. testes déjà avec le code que je t'ai donné .. et dis nous si ça fonctionne.
      0
    3. Shinegans Messages postés 62 Statut Membre 2
       
      Merci pour ton aide j'ai réussis ce que je voulais faire :)

      encore une fois grace a vous ... :D
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Si tu as le temps, viens donc mettre ton code ici histoire que ça puisse servir à d'autres éventuellement.
      @++
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,


    je m'explique j'ai actuellement un script qui me permet de trouver un élement dans mon fichier php a l'aide d'une spécificité ce trouvant au début de la ligne

    Que contient ce script ?
    De quelle forme est le fichier que tu souhaites traiter ?

    PS:
    **** Attention ****
    Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
    Explications disponibles ici :
    https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

    .
    0
    1. Shinegans Messages postés 62 Statut Membre 2
       
      Re jordan45 je te montre ca de suite :)
      0
  3. Shinegans Messages postés 62 Statut Membre 2
     
    $texte=file_get_contents("data.js");
    $pos=strpos($texte,$test);
     $fp=fopen("data.js", "r+");
     fseek ( $fp , +$pos,SEEK_CUR);
    
    

    Quand je fais cela la variable test contient un element de début de ligne ( car c'est le seul élement dont je suis sur de l'unicité )
    hors je dois écrire a la fin de cette dérniere ( pour ne pas l'éffacer )
    0