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. 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
  2. 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. 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 !