PHP + CSV -> Delimitador de detecção automática

Este método captura a primeira linha de um arquivo CSV e tenta analisar a linha com diferentes delimitadores. O delimitador que encontrar mais linhas será retornado.

* @param string $csvFile Path to the CSV file
* @return string Delimiter
*/
public function detectDelimiter($csvFile)
{
$delimiters
= array(
';' => 0,
',' => 0,
"t" => 0,
"|" => 0
);

$handle
= fopen($csvFile, "r");
$firstLine
= fgets($handle);
fclose
($handle);
foreach ($delimiters as $delimiter => &$count) {
$count
= count(str_getcsv($firstLine, $delimiter));
}

return array_search(max($delimiters), $delimiters);
}