mime_content_type deprecated, чем заменить?

Bermuda

Новичок
mime_content_type deprecated, чем заменить?

Мне нужно использовать функцию mime_content_type, однако

This extension has been deprecated as the PECL extension fileinfo provides the same functionality (and more) in a much cleaner way.
Потому системный администратор у нас собрал PHP без --with-mime-magic.

Чем можно заменить?

PECL -> Fileinfo() не подходит, потому как Version 0.2, State beta.

Нашел еще одно решение
<?php

if (!function_exists('mime_content_type')) {
function mime_content_type($f) {
$f = escapeshellarg($f);
return trim( `file -bi $f` );
}
}

?>
но это вызов внешнего исполняемого файла, а значит привязка с операционной системе, что в текущем проекте допускать нельзя.

Кто виноват и что делать?

Есть варианты?
 

tony2001

TeaM PHPClub
>Потому системный администратор у нас собрал PHP без --with-mime-magic.
"deprecated" == "устарело и будет заменено в будущем", а не "не собирайте".

>PECL -> Fileinfo() не подходит, потому как Version 0.2, State beta.
пробовал? работает?
что еще нужно?
 

Bermuda

Новичок
Автор оригинала: tony2001
"deprecated" == "устарело и будет заменено в будущем", а не "не собирайте".
Ага, предлагают "заменить на" Fileinfo() из PECL-а :)

пробовал? работает?
что еще нужно?
Сегодня работает, завтра не работает. Все-таки это бета.

Ок, больше деталей. Пишется "супер-пупер" приложение, MVC FrameWork если хотите. Пока на нем бегают только наши проекты, но в дальнейшем планируется продавать его "в коробке". Потому не хотелось бы завязываться на нестабильные и устарелые вещи.

Вопрос остался открыт.
Как я понимаю, стабильной замены этой функции пока нет.
 

tony2001

TeaM PHPClub
>Сегодня работает, завтра не работает. Все-таки это бета.
лично я не вижу связи между этими двумя предложениями.
да. бета. и ?
"бета" - это некий период в жизни каждого модуля, когда он уже давно работает, но хочется чтобы больше народа его протестировало.
это вам не винда - "сегодня работает, а завтра нет".

>Потому не хотелось бы завязываться на нестабильные и устарелые вещи.
бред какой-то.
напишите в требованиях к проекту:
нужно собирать PHP с --with-mime-magic.

что интересно: вместо того, чтобы взять бету, оттестировать и увериться в том, что она рабочая на 100%, ты ждешь доброго дядю-волшебника, который предложит тебе новое, самое лучшее решение.

умеют же люди выдумывать себе проблемы..
 

Bermuda

Новичок
Автор оригинала: tony2001
что интересно: вместо того, чтобы взять бету, оттестировать и увериться в том, что она рабочая на 100%, ты ждешь доброго дядю-волшебника, который предложит тебе новое, самое лучшее решение.

умеют же люди выдумывать себе проблемы..
Что характерно: вместо того чтобы подсказать альтернативное решение умеют же люди водить вилами по воде.

Все понятно, вопрос снят :)
Большое спасибо за Ваше участие в разьяснении вопроса.

-~{}~ 31.01.05 09:45:

Решение найдено

http://pear.php.net/package/MIME_Type/

Всем спасибо :)
 

Frol

Новичок
Нашел еще одно решение
<?php

if (!function_exists('mime_content_type')) {
function mime_content_type($f) {
$f = escapeshellarg($f);
return trim( `file -bi $f` );
}
}

?>
но это вызов внешнего исполняемого файла, а значит привязка с операционной системе, что в текущем проекте допускать нельзя.
Решение найдено

http://pear.php.net/package/MIME_Type/

Всем спасибо
хаха.
ты пакет смотрел? :))
 

Bermuda

Новичок
Автор оригинала: Frol
хаха.
ты пакет смотрел? :))
Сначала меня тоже порадовало, что есть альтернатива. Думал, что функция autoDetect() мне подойдет и я начал с чтения документации. Однако когда посмотрел исходник функции autoDetect(), стало ясно что это те же яйца, только вид сбоку.
 

x-pilot

Guest
А ты не пробовал найти базу: расширение->тип? поидее должна быть, mime_content_type полюбому её использует...
 

Bermuda

Новичок
Автор оригинала: x-pilot
А ты не пробовал найти базу: расширение->тип? поидее должна быть, mime_content_type полюбому её использует...
Не использует. Имя файла не влияет на его содержимое.
 
Сверху