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 :

[Tableaux] Lire un fichier texte et le passer en paramètre sous forme de tableau


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 93
    Points : 45
    Points
    45
    Par défaut [Tableaux] Lire un fichier texte et le passer en paramètre sous forme de tableau
    Bonjour,

    je coince un peu avec mon site. J aimerais en effet lire chaque ligne d un fichier, en les stockant dans un array de taille indeterminee (le nombre de ligne a lire dans le fichier pouvant varier) et ensuite de passer le tout en parametre.
    A savoir, le nombre de ligne du tableau peut atteindre 450.

    fichier type:
    1.23
    1.58
    98.69
    45.5
    ...
    j ai essaye plusieurs choses:
    copie vers le tableau 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    %i=0;
    foreach ($lines as $line_num => $line) 
    {
    $data[$i] = htmlspecialchars($line[$i]);
    $i++;
    }
    copie vers le tableau 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0;$i=count($values);$i++)
    {
    $lines[$i] = $i;
    }

    passage en parametre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<img src='graphique.php?values=".urlencode(serialize($lines))."' alt='Graph'/>";

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour tu dois d'abord lire ton fichier et le mettre dans un tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     if (!$fp = fopen("historique.txt","rb")) {
            echo "Echec de l'ouverture du fichier";
     
            exit;
     
        }else {
            while(!feof($fp)) {
                // On récupère une ligne
                $ligne = fgets($fp,255);
     
                // On affiche la ligne
                // echo $Ligne;
     
                // On stocke l'ensemble des lignes dans une variable
                $fichier[] = $ligne;
     
            }
            fclose($fp); // On ferme le fichier
        }
    Ensuite, comme d'après ton code, tu ne modifies pas ce tableau, pq le passer en paramètre, fais la lecture du fichier directement dan ton script graphique.php

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 93
    Points : 45
    Points
    45
    Par défaut
    Merci beaucoup pour ton aide..
    A quoi correspond le 255? est-ce le numero de la ligne,ou le nombre de ligne a recuperer ? ou completement autre chose ?
    merci encore

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    length

    Lit jusqu'à la taille length - 1 octet depuis le pointeur de fichier handle , ou bien la fin du fichier, ou une nouvelle ligne (qui inclut la valeur retournée), ou encore un EOF (celui qui arrive en premier). Si aucune longueur n'est fournie, la fonction lira le flux jusqu'à la fin de la ligne.

    Note: Jusqu'en PHP 4.3.0, le fait d'omettre ce paramètre fait que la fonction lira 1024 octets de la ligne. Si la majorité des lignes du fichier dépassent les 8 ko, il est plus efficace pour votre script de spécifier ce paramètre.
    Une bonne habitude est de prendre le nom de la fonction(fgets), et daller voir sur le site de php.net, tu auras totu de suite une réponse et tu ne seras pas obliger d'attendre qu'on veuille bien te répondre

    Maintenant si tu ne trouves pas n'hésite pas à nous demander.

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par lnikolanta Voir le message
    Merci beaucoup pour ton aide..
    A quoi correspond le 255? est-ce le numero de la ligne,ou le nombre de ligne a recuperer ? ou completement autre chose ?
    merci encore
    C' est la longueur maxi de lecture du fichier
    a chaque boucle en nbr d'octets,
    inutile si c'est un fichier texte avec des retour chariot ,
    car chaque lecture ne lira qu'une ligne !
    Ce paramétre n' est que optionelle

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 93
    Points : 45
    Points
    45
    Par défaut
    ok, je vous remercie pour votre aide et vos conseils...

    mais, je n arrive toujours pas a faire ce que je veux...

    Quelle est la nature de la variable fichier...
    Car a priori, je n arrive pas correctement a la passer en parametre.
    J ai essayer avec une autre variable tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $values2 = array(1, 2,2,5,2,5,2)
    et ca marche parfaitement... quelle est la difference entre $fichier et $values2 ??

    merci encore

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/08/2013, 14h20
  2. Réponses: 6
    Dernier message: 22/02/2008, 18h22
  3. Réponses: 1
    Dernier message: 24/11/2004, 16h54
  4. [Fichier] Lire un fichier texte long
    Par _Eric_ dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 18/08/2004, 15h22
  5. Réponses: 2
    Dernier message: 26/05/2004, 17h53

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