Lecture fichier php

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. 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 !
    1. 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
      1. personne?
        1. 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...
        2. 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
        3. Ton code devrait être bon. C'est quoi l'erreur que ça te sort ?
        4. non j ai cette erreur
          Column count doesn't match value count at row 1

          et si je fais sans aucune erreur

          Merci