上传文件中的Finfo_file确定mime-type

Jim*_*nks 14 php linux fileinfo mime-types

我试图确定上传文件的mime类型,我想使用fileinfo(),这是我一直在尝试,它不工作:

$uploadedfile = $_FILES['soup']['tmp_name'];
if(isset($uploadedfile))
{
    $uploadedname = $_FILES['soup']['name'];
    $file=$uploadedsong;
    $file.=$uploadedname;
    $finfo = finfo_open(FILEINFO_MIME_TYPE); 
    $mime = finfo_file($finfo, $file);
Run Code Online (Sandbox Code Playgroud)

不幸的是,finfo_file似乎没有运行,我假设我有以下$file设置不正确,有没有办法,我可以使用$_FILE这样的新上传的文件正确地做到这一点?或者我是以完全不正当的方式解决这个问题.使用我直接在另一个文件中预先设置的文件,并且设置$file="folder/file.doc"正常.

Law*_*one 25

您应该将路径传递给finfo_file函数而不是文件名.

<?php 
if (isset($_FILES['soup']['tmp_name'])) {
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $mime = finfo_file($finfo, $_FILES['soup']['tmp_name']);
    if ($mime == 'application/msword') {
        //Its a doc format do something
    }
    finfo_close($finfo);
}
?>
Run Code Online (Sandbox Code Playgroud)