Un forro para analizar un archivo CSV en una matriz mediante el uso de str_getcsv.
$csv = array_map('str_getcsv', file('qryWebsite.csv'));
para crear una consulta de base de datos que va a importar todos los valores en la base de datos a la vez:
$query =
"INSERT INTO tbl_name (a,b,c) VALUES " .
implode(',', array_map(function($params) use (&$values) {
$values = array_merge((array) $values, $params);
return '(' . implode(',', array_fill(0, count($params), '?')) . ')';
}, $csv));
Esto construirá una declaración preparada con marcadores de posición signo de interrogación, como:
INSERT INTO tbl_name (a,b,c) VALUES (?,?,?),(?,?,?),(?,?,?),(?,?,?)
y la variable $values
será un conjunto unidimensional que contiene valores para el enunciado. Una advertencia aquí es que el archivo csv debe contener menos de 65.536 entradas (número máximo de marcadores de posición).
Pssst: http://php.net/splfileobject – hakre
pssst casi un año después encontré tu [blog] (http://hakre.wordpress.com/2010/07/25/parsing-csv-files-with-php -spl-style /) – HenryW