Uso de PHP para tomar la primera línea de un archivo CSV y crear una tabla MySQL con los datos

Estoy intentando tomar un archivo CSV bastante grande e insertarlo en una base de datos MySQL para referenciar en un proyecto. Me gustaría usar la primera línea del archivo para crear la tabla utilizando los tipos de datos adecuados y no varchar para cada columna. El objetivo final es automatizar este proceso, ya que tengo varios archivos similares, pero cada uno tiene datos diferentes y una cantidad diferente de "columnas" en los archivos CSV. El problema que tengo es que gettype () está devolviendo 'cadena' para cada columna en lugar de int, float y cadena como quisiera.

La plataforma es PHP 5, el sistema operativo es Ubuntu 8.04.

Aquí está mi código hasta ahora:

<?php

// GENERATE TABLE FROM FIRST LINE OF CSV FILE

$inputFile = 'file.csv';
$tableName = 'file_csv';

$fh = fopen($inputFile, 'r');
    $contents = fread($fh, 5120); // 5KB
fclose($fh);

$fileLines = explode("\n", $contents); // explode to make sure we are only using the first line.

$fieldList = explode(',', $fileLines[0]); // separate columns, put into array
echo 'CREATE TABLE IF NOT EXISTS `'.$tableName.'` ('."<br/>\n";
for($i = 0; $i <= count($fieldList); $i++)
{
    switch(gettype($fieldList[$i])) {
        case 'integer':
            $typeInfo = 'int(11)';
            break;
        case 'float':
            $typeInfo = 'float';
            break;
        case 'string':
            $typeInfo = 'varchar(80)';
            break;
        default:
            $typeInfo = 'varchar(80)';
            break;
    }
if(gettype($fieldList[$i]) != NULL) echo "\t".'`'.$i.'` '.$typeInfo.' NOT NULL, --'.gettype($fieldList[$i]).' '.$fieldList[$i]."<br/>\n";
}
echo '  PRIMARY KEY  (`0`)'."<br/>\n";
echo ') ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;';

Ejemplo de primera línea: 1,0,0,0,0,0,0,0,0,0,0,0.00000000,0.000000,0,0,0,, 0,0,1,0,50, ' Palabra de recuerdo (OLD) ',

Respuestas a la pregunta(4)

Su respuesta a la pregunta