Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/09/2006, 17h04   #1
Invité régulier
 
Inscription : août 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 18
Points : 6
Points : 6
Par défaut [CSV] importation CSV avec des guillemets

Bonjour,

Voilà, je voulais savoir comment faire pour importer mes données ci-dessous :

Code :
1
2
3
 
ADRCODE;ADRCODEEXP;ADRCODEIMP;ADRCPOST;ADRDATCRE;ADRDATMOD;ADREMAIL;ADRFAX;ADRFON;ADRINT;ADRJOUFER;ADRLIEU;ADRPAY;ADRPRE;ADRRAIS;ADRREGION;ADRRUE;ADRTEL1;ADRTEL2;ADRTELEX;ADRTELP;ADRTIER;ADRTRA;ADRTYPC;ADRTYPEWEB;ADRTYPF;ADRTYPL;ADRTYPP;ADRUSER;ADRVILLE;ADRWEB;ADRWEBEXP;deleted;
"001";"   ";"   ";"95006  ";"19000101";"20050215";"                                                                                                    ";"                    ";"                              ";"                              ";"                              ";"BOULEVARD  DE STRASBOURG                              ";"   ";"                              ";"SOCIETE FRANCE SA                                      ";"     ";"CENTRE EUROPEEN                         ";"01 36 50 41 89      ";"                    ";"                              ";"                    ";"FRANCE 95   ";"          ";"1";"0";"1";"0";"1";"POSTE4    ";"CERGY PONTOISE                ";"                                                                                                    ";"     ";"0";
Je peux tres bien importer mes données avec ce script mais sans les guillements

Code :
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
 
$file = "test.csv";
 
 $taille = filesize($file);
//$taille = 99999;
$delimiteur = ";";
 
/* ouverture en lecture */
if($fp = fopen($file,"r")) {
    /* extraction d'une ligne */
if($fp = fopen($file,"r")) {
    while ($ligne = fgetcsv($fp, $taille, $delimiteur)) 
	{
		$tab1[] =$ligne[0];
		$tab2[]=$ligne[1];
                          ......
                          $tabX[]=$ligne[X];
 
  }
}
    /* fermeture fichier */
    fclose ($fp);
} else {
    echo "Ouverture impossible.";
}
Que faut il changer pour que mon script prenne en compte les guillements ?

Merci d'avance
trash_board est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2006, 18h03   #2
Nouveau Membre du Club
 
Mikael Randy
Inscription : août 2006
Messages : 28
Détails du profil
Informations personnelles :
Nom : Mikael Randy
Âge : 27
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : août 2006
Messages : 28
Points : 32
Points : 32
Pour te simplifier la vie et augmenter l'optimisation de ton transfert, je te conseille d'utiliser l'instruction SQL LOAD DATA INFILE.
Zeus_phpfrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2006, 18h09   #3
Membre chevronné
 
Avatar de stunti
 
Inscription : mai 2006
Messages : 521
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : mai 2006
Messages : 521
Points : 602
Points : 602
Regarde la doc de fgetcsv.
Le dernier parametre te permet de definir par quel caractere est encadre chaque champs.
Par defaut il s'agit de guillement.
Tu peux donc mettre vide.
__________________
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
stunti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 14h08   #4
Invité régulier
 
Inscription : août 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 18
Points : 6
Points : 6
Merci Stunti, j'ai reussi ce que je voulais faire
Merci aussi à toi Zeus, mais le Load data n'est pas adapter à ce que je veux faire

Sinon j'avais un petit probleme pour les retours à la ligne de mon fichier
Voici l'astuce
Code :
1
2
 
ini_set("auto_detect_line_endings", 1);
En vous remerciant
trash_board est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h52.


 
 
 
 
Partenaires

Hébergement Web