Почему mime_content_type () устарел в PHP?

Мне просто интересно узнать, почему mime_content_type () теперь считается устаревшим.

Этот метод определения типа mime намного проще, чем замена функции Fileinfo .

Я думаю, это потому, что Fileinfo может возвращать больше информации о файлах .

EDIT: Вот замена:

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 14 января 2016 года. Однако на данный момент он по-прежнему неверен отмеченные в немецком, испанском и китайском руководствах.

Не стесняйтесь использовать 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; } 

EDIT: Спасибо @Adam и @ficuscr за разъяснение, что эта функция, по сути, не устарела .

Начиная с MediaWiki 1.30, вышеуказанный код был существенно изменен (назад) на:

 function getMimeType( $filename ) { return mime_content_type( $filename ); }