Detectar um tipo mime falha no php

Eu tenho o seguinte código PHP que mostra o tipo MIME de um arquivo carregado.

<?php

if ($_POST) {

    var_dump($_FILES);

    $finfo = new finfo(FILEINFO_MIME_TYPE);

    var_dump($finfo->file($_FILES['file']['tmp_name']));

} else{
    ?>
    <form method="POST" enctype="multipart/form-data"><input name="file" type="file"><input name="submit" value="send" type="submit"/></form>
    <?php
}

O resultado do upload de somefile.csv com este script é o seguinte.

array (size=1)
    'file' =>
    array (size=5)
        'name' => string 'somefile.csv' (length=12)
        'type' => string 'text/csv' (length=8)
        'tmp_name' => string '/tmp/phpKiwqtu' (length=14)
        'error' => int 0
        'size' => int 3561
string 'text/x-fortran' (length=14)

Então, é claro, o tipo mime deve ser text / csv. Mas o framework que eu uso (Symfony 1.4) usa o método com fileinfo.

Também testei um pouco mais parece que o comando (no Ubuntu)file --mime-type somefile.csv devolvesomefile.csv: text/x-fortran e o comandomimetype somefile.csv devolvesomefile.csv: text/csv. somefile.csv é criado com o MSOffice (não sei se isso é importante). Pelo vistomimetype usa algum banco de dados mime incrível (http://freedesktop.org/wiki/Software/shared-mime-info), enquantofile não.

O PHP usafile oumimetype ou nem?Além disso, não tenho certeza do que fazer aqui; meu arquivo carregado está mal formatado? Eu tenho que usar um banco de dados mime diferente? O PHP está com bug? O que está acontecendo aqui?

editar:

A razão pela qual ele é detectado como um programa fortran é porque somefile.csv contém apenas o seguinte:

somecolumn;
C F;

Eu acredito que o conteúdo acima de um arquivo CSV é válido, certo? Se um campo contém um espaço, este campo não precisa ser colocado entre aspas, certo?

questionAnswers(2)

yourAnswerToTheQuestion