Diviser le contenu d'un fichier txt en trois tableau

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 : Diviser le contenu d'un fichier txt en trois tableau

Re: Diviser le contenu d'un fichier txt en trois tableau

par @rthur » 20 sept. 2019, 00:20

En gros voilà comment je ferrai :
1) file_get_contents() pour récupérer le contenu du fichier texte
2) preg_match_all() avec une expression régulière pour récupérer nom de variable / valeur / commentaire en une seule fois pour chaque ligne
Voilà un exemple de regex à vérifier/adapter avec ton contenu réel : https://regex101.com/r/mYSUoL/1
3) foreach pour parcourir chaque élément récupéré
4) attribution dans tes tableaux des valeurs récupérées par ton expression régulière.

Diviser le contenu d'un fichier txt en trois tableau

par Flo59 » 15 sept. 2019, 12:55

Bonjour je vous écrit ce topique car je n'arrive pas a réaliser ce que je souhaite et j’espère que grâce a votre aide ce ne sois plus le cas. Je vous explique le problème. J'ai un fichier txt contenant un fichier de configuration je récupéré l’intégralité du fichier et le mets dans un tableau. J'aimerais pouvoir mettre le nom des variables du fichier config d'en un tableau a part puis la valeur de la variable dans un autre puis les éventuelles commentaire dans un troisième. Le fichier txt ressemble a ça.

toto = 1;
toto1= 2;
toto3=3; //variable importante


Pour réaliser cela je pence faire 3 étape regarder ma chaîne de caractère caractère par caractère.
etape 1 tout ce qui est comprit entre un retour chariot et un = c'est la variable donc tableau 1
etape 2 tout ce qui est comprit entre un = et un ; c'est le résultat de la variable donc tableau 2
etape 3 tout ce qui est comprit entre un ; et un retour chariot tableau 3 c'est un commentaire

Code : Tout sélectionner

<?php $contenu = file_get_contents('test.txt'); $contenu_brut = array($contenu); $nomVariable = array(); $resulVariable = array(); $comeVariable = array(); $nombre_de_variables=0; $nombreCara = strlen($contenu); $file = fopen("test.txt", "r"); // ouvre le fichier if ($file ) // si on a bien le fichier { while (!feof($file )) //tant qu'on est pas à la fin du fichier { $ligne= fgets($file,$nombreCara); // on lit une ligne qui contien le nombre de caractere du fichier if ($contenu_brut[0] != 0x0A||0x0D) { //$contenu_brut[0] = $nomVariable; array_push($nomVariable,$contenu_brut); $nombre_de_variables++; // $nombre_de_variables = $nombre_de_variables + 1 } } } print_r ($nomVariable); fclose($file ); // ferme le fichier ?>

Merci d'avance pour votre aide si vous avez des question n’hésitez pas