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);
}