Parser plusieurs lignes en php

phpnaab -  
 phpnaab -
Bonjour,

Débutant sous php, je n'ai pas encore toutes les bases nécessaires pour m'en sortir tout seul.
Voici mon cas :
J'ai les lignes suivantes qui se présentent dans un fichier :
ligne1#colonne1#colonne2#colonne3
ligne2#colonne1#colonne2#colonne3
ligne3#colonne1#colonne2#colonne3


J'ai utilisé un # dans mon exemple afin que ce soit visible, mais le séparateur réel est une tabulation

Comment récupérer ces infos, et les injecter dans une base SQL ?

D'avance merci pour vos conseils !

4 réponses

  1. adgem0 Messages postés 122 Statut Membre 161
     
    Salut,
    Dans l'exemple suivant, on considère que tu as déja établi la connexion avec la base de données. Si tu ne sais pas encore le faire, demande moi. Mais j'espère que tu as déjà passé cette étape !
    <?php 
    $handle = fopen("file.txt", "r"); // Option "r" pour ouverture en lecture seule 
    if ($handle) { // Si l'ouverture s'est bien passée 
        while (!feof($handle)) { // Tant qu'on a pas atteint la fin du fichier 
            $buffer = fgets($handle, 4096); // On lit une ligne 
            echo $buffer; // Ici on affiche la ligne lue (facultatif) 
            $ligne = explode("\t", $buffer); 
            /* La fonction explode permet de mettre dans un tableau 
            tout les éléments séparé par un caractère 
            Le premier paramètre est le caractère qui sépare 
            Ca peut être n'importe quel caractère comme un # par exemple 
            ou \t (antislash t) ... le caractère de tabulation ! 
            Le second paramètre est ta ligne à parser */ 
            /* A cette étape, $ligne est un tableau qui contient les  
            éléments d'une ligne de ton fichier 
            On y accède comme ça : 
            $ligne[0] $ligne[1] $ligne[2] etc ...*/ 
            mysql_query("INSERT INTO 'lenomdetatable' ('champ1', 'champ2', 
            ...) VALUES ('".$ligne[0]."', '".$ligne[1]."', ...);"); 
            /* Cette requête d'insertion est un exemple. 
            Tu dois l'adapter à ton cas */ 
            // Une fois que c'est fait, on passe à la ligne suivante 
        } 
        fclose($handle); // On ferme le fichier 
    } 
    ?> 
    
    0
  2. phpnaab
     
    Merci beaucoup, vos réponses m'ont bien aidées et je pense arriver à ce que je voulais faire !
    0