我只是好奇,想知道为什么mime_content_type()现在被认为是过时的。
这个用于确定mime类型方法比更换容易得多Fileinfo的功能。
我只是好奇,想知道为什么mime_content_type()现在被认为是过时的。
这个用于确定mime类型方法比更换容易得多Fileinfo的功能。
我想这是因为Fileinfo的可以返回有关文件的详细信息 。
编辑:这是一个替代黑客:
function _mime_content_type($filename) {
$result = new finfo();
if (is_resource($result) === true) {
return $result->file($filename, FILEINFO_MIME_TYPE);
}
return false;
}
该方法未过时!
它曾经被错误地标记为手册中的过时,但它已被固定https://bugs.php.net/bug.php?id=71367于2016年一月然而 14日,在目前,它仍然是不正确标注为废弃在德国,西班牙和中国的手册。
随意使用mime_content_type()
只要你喜欢:)。
另一种方式是通过给构造不变FILEINFO_MIME
。
$finfo = new finfo(FILEINFO_MIME);
$type = $finfo->file('path/filename');
使用finfo_file
和finfo_open
和FILEINFO_MIME_TYPE
:
finfo_file( finfo_open( FILEINFO_MIME_TYPE ), $filename );
这里有一个小包装,以覆盖不同的PHP环境,源自CSSMin.php MediaWiki的1.20.0 :
function getMimeType( $filename ) { $realpath = realpath( $filename ); if ( $realpath && function_exists( 'finfo_file' ) && function_exists( 'finfo_open' ) && defined( 'FILEINFO_MIME_TYPE' ) ) { // Use the Fileinfo PECL extension (PHP 5.3+) return finfo_file( finfo_open( FILEINFO_MIME_TYPE ), $realpath ); } if ( function_exists( 'mime_content_type' ) ) { // Deprecated in PHP 5.3 return mime_content_type( $realpath ); } return false; }
编辑:感谢@Adam和@ficuscr澄清这个函数,其实, 不推荐使用 。
由于链接到MediaWiki 1.30的,上面的代码基本上改变(回):
function getMimeType( $filename ) { return mime_content_type( $filename ); }