public function getMimeType()
    {
        if (function_exists('finfo_open')) {
            $finfo = finfo_open(FILEINFO_MIME);
            if (!$finfo) {
                throw new \RuntimeException('Failed to open finfo');
            }

            $actualInfo = @finfo_file($finfo, $this->getPathname());
            if (false === $actualInfo) {
                throw new \RuntimeException('Failed to read file info via finfo');
            }
            $mime = strtolower($actualInfo);
            finfo_close($finfo);

            if (!preg_match(
                '/^([a-z0-9]+\/[a-z0-9\-\.]+);\s+charset=(.*)$/', $mime, $matches
            )) {
                throw new \LogicException(
                    'An error parsing the MIME type "'.$mime.'".'
                );
            }

            return $matches[1];
        } elseif (function_exists('mime_content_type')) {
            return mime_content_type($this->getPathname());
        }

        throw new \RuntimeException(
            'The finfo extension or mime_content_type function are needed to '
            .'determine the Mime Type for this file.'
        );
    }
public function getMimeType()
    {
        if (function_exists('finfo_open')) {
            $finfo = finfo_open(FILEINFO_MIME);
            if (!$finfo) {
                throw new \RuntimeException('Failed to open finfo');
            }

            $actualInfo = @finfo_file($finfo, $this->getPathname());
            if (false === $actualInfo) {
                throw new \RuntimeException('Failed to read file info via finfo');
            }
            $mime = strtolower($actualInfo);
            finfo_close($finfo);

            if (!preg_match(
                '/^([a-z0-9]+\/[a-z0-9\-\.]+);\s+charset=(.*)$/', $mime, $matches
            )) {
                throw new \LogicException(
                    'An error parsing the MIME type "'.$mime.'".'
                );
            }

            return $matches[1];
        } elseif (function_exists('mime_content_type')) {
            return mime_content_type($this->getPathname());
        }

        throw new \RuntimeException(
            'The finfo extension or mime_content_type function are needed to '
            .'determine the Mime Type for this file.'
        );
    }
public function getMimeType ( ) { if ( function_exists ( 'finfo_open' ) ) { $ finfo = finfo_open ( FILEINFO_MIME ) ; if ( ! $ finfo ) { throw new \ RuntimeException ( 'Failed to open finfo' ) ; } $ actualInfo = @ finfo_file ( $ finfo , $ this -> getPathname ( ) ) ; if ( false === $ actualInfo ) { throw new \ RuntimeException ( 'Failed to read file info via finfo' ) ; } $ mime = strtolower ( $ actualInfo ) ; finfo_close ( $ finfo ) ; if ( ! preg_match ( '/^([a-z0-9]+\/[a-z0-9\-\.]+);\s+charset=(.*)$/' , $ mime , $ matches ) ) { throw new \ LogicException ( 'An error parsing the MIME type "' . $ mime . '".' ) ; } return $ matches [ 1 ] ; } elseif ( function_exists ( 'mime_content_type' ) ) { return mime_content_type ( $ this -> getPathname ( ) ) ; } throw new \ RuntimeException ( 'The finfo extension or mime_content_type function are needed to ' . 'determine the Mime Type for this file.' ) ; }
Returns the mime type for this file.

@throws \RuntimeException if finfo failed to load
and/or mime_content_type is unavailable
@throws \LogicException if the mime type could not be interpreted
from the output of finfo_file

@return string
Returns the mime type for this file .