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 :

[CSV] Taille d’une ligne d’un FICHIER


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut [CSV] Taille d’une ligne d’un FICHIER
    Bonjour,

    Je tente d’extraire des données d’un fichier csv avec le code suivant :


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     
    $file = "lldiffusion.csv";
    $taille = 1024;
    $delimiteur = ";";
    /* ouverture en lecture */
     
     
     
     /* On ouvre le fichier à importer en lecture seulement */
     if (file_exists($file))
     {
          $fp = fopen($file,"r"); 
           /* extraction d'une ligne */
        while ($ligne = fgetcsv($fp, $taille, $delimiteur))
        { /* Tant qu'on n'atteint pas la fin du fichier */ 
           /* On récupère les champs séparés par ; dans liste*/
           // $liste = explode( ";",$ligne);  
           $ligne = str_replace("'","\'",$ligne); // echappement devant les simples quotes
    	   $ligne = str_replace('/','\/',$ligne);
           // $liste = str_replace('"','\"',$liste); // echappement devant les double quotes
    	   // on compte le nombre de champs séparés par un ;
     
    	  //  $num = count($ligne);
    	  //  echo $ligne[6].'<br>';;
     
     
    			/* On assigne les variables */ 
    			$id = $ligne[0];
    			$marque = $ligne[1]; 
    			$designation = $ligne[2];
    			$univers = $ligne[3]; 
    			$categorie = $ligne[4];
    			$sous_categorie = $ligne[5]; 
    			$resume_court = $ligne[6];
    			$resume_long = $ligne[7]; 
    			$prix_ttc = $ligne[8];
    			$disponibilite = $ligne[9]; 
     
    			 // $query = "INSERT INTO $table (`id`, `marque`, `designation`, `univers`, `categorie`, `sous_categorie`, `resume_court`, `resume_long`, `prix_ttc`, `disponibilite`) VALUES('$id','$marque','$designation','$univers','$categorie','$sous_categorie','$resume_court','$resume_long','$prix_ttc','$disponibilite')"; 
    			 $query = "INSERT INTO $table VALUES('$id','$marque','$designation','$univers','$categorie','$sous_categorie','$resume_court','$resume_long','$prix_ttc','$disponibilite')"; 
    			 $result= MYSQL_QUERY($query); 
    			 if(mysql_error())
            { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
                 print "Erreur dans la base de données : ".mysql_error();
                 print "<br>Importation stoppée.";
                 exit();
            } 
    			 echo $query;
     
    			// echo $categorie;
    			// echo '<br>fin du premier résumé -------------------------------------------------------------------------<br>';
     
     
        }
    }
     else
         { /* le fichier n'existe pas */
           echo "Fichier introuvable !<br>Importation stoppée.";
           exit();
         }
    le problème c’est que j’ai des champs très long (texte entier…) dans mon fichier csv et je pense que
    que la taille 1024 est trop petite…
    Est-il possible de mettre une taille beaucoup plus grande ?

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Si tu ne précises pas la longueur dans les paramètres de fgetcsv la taille est illimitée (cf doc...).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

Discussions similaires

  1. Ajout d'une ligne en début de fichier CSV
    Par dbtn89 dans le forum Langage
    Réponses: 13
    Dernier message: 12/05/2015, 19h52
  2. [Débutant] Modifier une ligne prècise dans un fichier csv
    Par ganssy dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/05/2012, 17h15
  3. la taille extensible d'une ligne dans une table
    Par Platon93 dans le forum Access
    Réponses: 9
    Dernier message: 30/11/2006, 16h08
  4. lire une ligne précise d'un fichier
    Par loic_86 dans le forum Langage
    Réponses: 1
    Dernier message: 06/01/2006, 13h37
  5. Réponses: 6
    Dernier message: 04/03/2004, 09h35

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