par
Ripat » 30 avr. 2012, 20:24
Une base de travail:
$csv = file('csv.csv');
foreach ( $csv as $line) {
/* split de la ligne */
$splitLine = preg_split('#[;|]#', $line);
/* split de la date */
$dteSplit = explode ('/', $splitLine['1']);
/* sortie dans l'ordre dans un tableau */
$outFile[] = sprintf ('%s;%s;%s;%s;%s;%s%s',
$splitLine[0],
sprintf('%s-%s-%s', $dteSplit[2], $dteSplit[1], $dteSplit[0]),
str_replace('adhoc', 'image/adhoc', $splitLine[2]),
$splitLine[4],
$splitLine[3],
substr($splitLine[7], 1, 3),
PHP_EOL
);
}
file_put_contents('csv_out.csv', $outFile);
/* partie MySQL */
/* ici connexion à ta bdd */
/* query à exécuter pour insertion */
$eol = (PHP_EOL == "\r\n") ? '\r\n' : '\n';
$qry = "LOAD DATA INFILE '/chemin/vers/csv_out.csv' INTO ta_table FIELDS TERMINATED BY ';' LINES TERMINATED BY '".$eol."'";
Une base de travail:
[php]$csv = file('csv.csv');
foreach ( $csv as $line) {
/* split de la ligne */
$splitLine = preg_split('#[;|]#', $line);
/* split de la date */
$dteSplit = explode ('/', $splitLine['1']);
/* sortie dans l'ordre dans un tableau */
$outFile[] = sprintf ('%s;%s;%s;%s;%s;%s%s',
$splitLine[0],
sprintf('%s-%s-%s', $dteSplit[2], $dteSplit[1], $dteSplit[0]),
str_replace('adhoc', 'image/adhoc', $splitLine[2]),
$splitLine[4],
$splitLine[3],
substr($splitLine[7], 1, 3),
PHP_EOL
);
}
file_put_contents('csv_out.csv', $outFile);
/* partie MySQL */
/* ici connexion à ta bdd */
/* query à exécuter pour insertion */
$eol = (PHP_EOL == "\r\n") ? '\r\n' : '\n';
$qry = "LOAD DATA INFILE '/chemin/vers/csv_out.csv' INTO ta_table FIELDS TERMINATED BY ';' LINES TERMINATED BY '".$eol."'";[/php]