IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Enregistrement sur fichier texte sans délimiteur


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Enregistrement sur fichier texte sans délimiteur
    Bonjour à tous,

    Débutant en SQL et PHP, je dois, concevoir une BDD, alimentée par des fichiers texte, sans délimiteurs.
    par contre ces fichiers présentent tous les mêmes caractéristiques.
    C'est à dire que le texte que je veux récupérer pour insérer dans les champs de ma table, se trouve entre des rubriques nommées.

    Pouvez vous m'aider
    ci-dessous exemple de message :

    Date
    texte à récupérer.....

    Lieu de manifestation
    texte à récupérer.....

    Animations programmées
    texte à récupérer.....

    Description de la manifestation
    texte à récupérer.....

    etc...
    Merci

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Il y a forcement des délimiteurs dans tes fichiers texte, ne serais-ce que l'espace ou le retour à la ligne.
    Sinon on appelle cela un fichier poubelle qui est inutilisable.

    Dans ton exemple c'est donc le retour à la ligne, un double retour à la ligne séparant deux catégories.
    Tu peux aussi faire un parcours par ligne et identifier les catégories puisque chaque catégorie possède un nom qui lui est propre.

    Illustration de ce que je veux dire dans ce dernier point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    0
    texte
     
    1
    texte
     
    2
    texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $lignes = file("url_fichier");
    $data = array();
    $categories = array(1,2,3);
    $categorie_active = null;
    foreach($lignes as $ligne){
      if( in_array($categories, $ligne) )
        $categorie_active = $ligne;
      if( $categorie_active !== null )
        $data[$categorie_active][] = $ligne;
    }
    Pas tester et sans doute à adapter, je ne sais plus par exemple si file() supprime les \r\n à la fin des lignes qu'il récupère.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/06/2015, 12h01
  2. Enregistrer des fichiers texte sur un serveur distant ?
    Par npopravka dans le forum Pentaho
    Réponses: 1
    Dernier message: 14/03/2011, 13h19
  3. [VBA-excel] import de fichier txt sans délimiteur de texte
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/01/2008, 05h49
  4. Imprimer un fichier texte sans l'afficher
    Par sheira dans le forum ASP
    Réponses: 7
    Dernier message: 13/12/2005, 12h10
  5. Fichiers texte sans accents
    Par mika dans le forum Langage
    Réponses: 5
    Dernier message: 03/11/2004, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo