Neden mime_content_type olan () PHP kalktı?

3 Cevap php

I mime_content_type() artık önerilmiyor kabul edilir neden bilmek sadece merak ediyorum.

Mime türünü belirlemek için bu yöntem yerine Fileinfo işlevselliği çok daha kolaydır.

3 Cevap

I return more information about files fileinfo olabilir çünkü sanırım.

EDIT: Here is a replacement hack:

function _mime_content_type($filename) {
    $result = new finfo();

    if (is_resource($result) === true) {
        return $result->file($filename, FILEINFO_MIME_TYPE);
    }

    return false;
}

Başka bir yol yapıcı sabite geçmek için FILEINFO_MIME.

$finfo = new finfo(FILEINFO_MIME);
$type  = $finfo->file('path/filename');

Kullanma finfo_file and finfo_open , and FILEINFO_MIME_TYPE :

finfo_file( finfo_open( FILEINFO_MIME_TYPE ), $filename );

İşte türetilmiş farklı PHP ortamlarını kapsayacak şekilde küçük bir sarıcı, var CSSMin.php in 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;
}