par
goeb » 29 mars 2005, 16:04
je vois 2 solutions possibles :
1. le script PHP lit chaque ligne du fichier separement :
- il remplace plussieurs espaces par un seul (preg_replace)
- il fait split pour separer chaque champ
- il insere la ligne dans la base mysql en precisant la valeur de chaque champ (INSERT INTO ... VALUES (....))
2. le script PHP
- remplace toute succession d'espaces par un seul espace
- et fait ensuite le chargement du fichier ainsi modifié dans la base mysql, au moyen de l'instruction SQL :
LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet FIELDS TERMINATED BY ' ';
(plus d'info sur LOAD DATA ici :
http://dev.mysql.com/doc/mysql/fr/load-data.html
)
dans la 2eme solution, il faut imperativement remplacer les sequences de plusieurs espaces par un seul espace, sinon LOAD DATA va croire qu'il s'agit d'une succession de champs vides.