Lecture fichier php

audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   -  
audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous ,

Je veux lire le contenu d un fichier txt mais je voulais savoir si il etait possible d ignorer le 1er ligne

Merci de votre reponse

4 réponses

  1. BeFaX Messages postés 16334 Statut Contributeur 3 863
     
    Ok, j'ai rien compris à la question ^^
    0
  2. coeus Messages postés 3296 Statut Membre 120
     
    Salut !

    Une solution serait d'entreposer ton fichier dans un array, avec chaque élément de l'array contenant une ligne de ton texte. Après, rien de plus facile que d'ignorer la première ligne !
    0
  3. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    peut mal exprimer

    En fait je lit le contenu de mon fichier comme ceci

    if (is_resource($connexion))
    {
    if (@mysql_select_db('ma base', $connexion))
    {
    if (($handle = fopen("mon.txt", "r")) !== FALSE)
    {
    while (($data = fgetcsv($handle, 1000, "|")) !== FALSE)
    {
    $num = count($data);
    echo "<p> $num champs à la ligne $row: <br /></p>\n";

    $row++;

    // IL faut adapter ici la requete à la structure de ta table
    $requete = .........) values (';

    for ($c=0; $c < $num; $c++)

    {
    $requete .= '"'.$data[$c]. '", ';
    }
    $requete = rtrim($requete, ', ').')';
    echo $requete . "<br />\n"; // rajout du echo

    // il manque la fin mais rien d important

    J aimerais savoir s il etait possible d ignorer le 1er ligne

    Existe t il un fonction?

    Merci de votre aide
    0
  4. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    personne?
    0
    1. coeus Messages postés 3296 Statut Membre 120
       
      Non il n'existe pas de fonction en tant que tel... Mais on peut essayer de tweaker.

      Dans le fond, si je comprends bien ton code, c'est dans ton bout :

      for ($c=0; $c < $num; $c++) 
      { 
      $requete .= '"'.$data[$c]. '", '; 
      } 
      $requete = rtrim($requete, ', ').')'; 
      echo $requete . "<br />\n"; // rajout du echo 

      que le contenu s'affiche ?

      Si c'est ça, pourquoi ne pas tout simplement mettre une condition :
      if ($c > 0) { 
      

      ? Comme ça, la boucle for() va sauter la première instance de $c, ce qui devrait logiquement sauter la première ligne d'affichage...
      0
    2. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
       
      merci de ta reponse coeus

      le contenu s affiche de la maniere suivante

      ligne1 blabla

      ligne blalallll

      ligne 3 blaaa

      Oui effectivement je peut mettre une condition et le if je doit le mettre ou?
      apres le for? mais j ai une erreur
      for ($c=0; $c < $num; $c++)

      {
      if ($c > 0) {
      $requete .= '"'.$data[$c]. '", ';
      }
      }
      $requete = rtrim($requete, ', ').')';
      echo $requete . "<br />\n"; // rajout du echo
      // On execute ensuite la requete

      merci de ton aide
      0
    3. coeus Messages postés 3296 Statut Membre 120
       
      Ton code devrait être bon. C'est quoi l'erreur que ça te sort ?
      0
    4. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
       
      non j ai cette erreur
      Column count doesn't match value count at row 1

      et si je fais sans aucune erreur

      Merci
      0