[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Определение MIME типов
Alexey33
Есть функция -

echo mime_type($file);
function mime_type($file)
{
$mime = "Program Files\EasyPHP 3.0\apache\conf\magic.mime";
$finfo = finfo_open(FILEINFO_MIME,$mime);
$mimetype = finfo_file($finfo, $file);
finfo_close($finfo);
return $mimetype;
}

Вот имена файлов которые передаются функции - filemanager.php,image.gif,y_8d4ee798.jpg итп

Но функция возвращает ошибки -

Warning: finfo_file(): supplied argument is not a valid file_info resource in C:\web\filemanager.php on line 57

Warning: finfo_close(): supplied argument is not a valid file_info resource in C:\web\filemanager.php on line 58

Что я не так делаю?Вроде бы все так,в manual'е посмотрел,там вроде тоже самое.Где,что я упустил?PS.Я понимаю что за ошибки,но не въеду почему они появляются.



Спустя 16 минут, 47 секунд (2.04.2012 - 19:49) YVSIK написал(а):
))
Синтаксическая ошибка : синтаксическая ошибка, неожиданный T_ECHO, ожидая ',' или ';' в Z: \ главная \ MVC \ WWW \ скины \ страницы \ Untitled-1.php на линии 12
((
а? так?
user posted image

цитирую!!!!
неожиданный T_ECHO, ожидая ','

Спустя 7 минут, 12 секунд (2.04.2012 - 19:56) Winston написал(а):
Цитата (Alexey33 @ 2.04.2012 - 19:32)
echo mime_type($file)

; не вижу

Спустя 1 минута, 44 секунды (2.04.2012 - 19:58) Alexey33 написал(а):
YVSIK
Извините!Это я тут забыл указать ";".В коде все нормально.Но ошибка все равно.PS.Еще раз извените,щас поправлю rolleyes.gif

Спустя 2 минуты, 36 секунд (2.04.2012 - 20:00) Winston написал(а):
Цитата (Alexey33 @ 2.04.2012 - 19:32)
$mime = "Program Files\EasyPHP 3.0\apache\conf\magic.mime";

Либо попробуй указать еще имя диска либо укажи относительный путь.

Спустя 4 минуты, 17 секунд (2.04.2012 - 20:04) Alexey33 написал(а):
Winston
Пробовал,ошибки все теже.Если вообще без переменной mime,то выдаст ошибку о том что нет магической базы.На php.ru(в мануале) без указания якобы работает,в смысле,в их примерах,но у меня вот не пашит.Только если указать путь к мб.

Спустя 2 минуты, 36 секунд (2.04.2012 - 20:07) Winston написал(а):
Хм.... Может неправильно путь указываешь?
Попробуй
var_dump((bool)file_exists("your path"));

Что выдает? true/false?

Спустя 6 минут, 2 секунды (2.04.2012 - 20:13) Winston написал(а):

Спустя 18 минут, 47 секунд (2.04.2012 - 20:32) Alexey33 написал(а):
Winston
Путь правильный.
По поводу ссылки -
У меня xp(принципиально или нет?),файлы поставил,ошибки все равно те же.С указанием расширения базы ошибок о том что магии нет не выкидывает.Без расширения кидает.Ошибка осталась.
Может я особенный?

Спустя 9 минут, 8 секунд (2.04.2012 - 20:41) Alexey33 написал(а):
А есть аналоги Fileinfo расширению?Что бы mime тип узнать

Спустя 4 минуты, 13 секунд (2.04.2012 - 20:45) Winston написал(а):
Попробуй еще это почитать http://wmas.msk.ru/archives/how-determine-...-type-using-php

Спустя 9 минут, 44 секунды (2.04.2012 - 20:55) Alexey33 написал(а):
Читал уже
echo extension_loaded('fileinfo') ? 'yes' : 'no';

Выдает yes

Спустя 9 минут, 21 секунда (2.04.2012 - 21:04) Winston написал(а):
php_mime_magic.dll - есть такая либа?
extension=php_mime_magic.dll - в php.ini раскомментил?
Сервер перегрузил?
В phpinfo() появилась секция mime_magic ?

Спустя 6 минут, 28 секунд (2.04.2012 - 21:11) killer8080 написал(а):
$mime = 'C:\\Program Files\\EasyPHP 3.0\\apache\\conf\\magic.mime';

или
$mime = 'C:/Program Files/EasyPHP 3.0/apache/conf/magic.mime';

Спустя 3 минуты, 36 секунд (2.04.2012 - 21:14) Winston написал(а):
Цитата (killer8080 @ 2.04.2012 - 21:11)
$mime = 'C:\\Program Files\\EasyPHP 3.0\\apache\\conf\\magic.mime';

В одинарных кавычках по моему не нужно экранировать (за исключением если после слеша идет закрывающий апостроф), не?

Спустя 12 минут, 6 секунд (2.04.2012 - 21:26) killer8080 написал(а):
Цитата (Winston @ 2.04.2012 - 21:14)
В одинарных кавычках по моему не нужно экранировать (за исключением если после слеша идет закрывающий апостроф), не?

Согласен, решил перестраховаться, к тому же у него там были двойные кавычки, и не хватало буквы диска. Думаю причина в этом.

Спустя 4 минуты, 5 секунд (2.04.2012 - 21:31) Alexey33 написал(а):
Winston
Перезапустил

extension=php_mime_magic.dll - в php.ini раскомментил

В phpinfo() появилась секция mime_magic - там только такие строки -

Directive Local Value Master Value
mime_magic.debug Off Off
mime_magic.magicfile C:\php5\magic.mime C:\php5\magic.mime - но таких папок нету у меня

Спустя 1 минута, 44 секунды (2.04.2012 - 21:32) Alexey33 написал(а):
killer8080
Там что с буквой диска,что без нее все равно ошибки о невалидном аргументе выдает.

Спустя 10 минут, 6 секунд (2.04.2012 - 21:42) Alexey33 написал(а):
Все,извините за глупость.Да есть такой,php_mime_magic.dll.У меня просто до этого не было повода лазить и смотреть подобное.Новенький я в этом деле как ни как rolleyes.gif

Спустя 4 минуты, 31 секунда (2.04.2012 - 21:47) Winston написал(а):
Цитата (Alexey33 @ 2.04.2012 - 21:31)
mime_magic.debug Off Off

Попробуй в php.ini
mime_magic.debug Off -> поменять на On, возможно какая то отладочная инфа появится на экране
Цитата (Alexey33 @ 2.04.2012 - 21:31)
mime_magic.magicfile C:\php5\magic.mime C:\php5\magic.mime - но таких папок нету у меня

Походу это дефолтные значения
попробуй так же в php.ini
директиве mime_magic.magicfile указать путь где у тебя физически лежит mime файл

Спустя 19 минут, 41 секунда (2.04.2012 - 22:07) Alexey33 написал(а):
Winston
Я в php.ini таких строк вообще не нашел.Их надо с 0,в ручную прописывать?

Спустя 7 минут, 36 секунд (2.04.2012 - 22:14) Winston написал(а):
Да дописывать, здесь посмотри.

Спустя 14 часов, 29 минут, 50 секунд (3.04.2012 - 12:44) Alexey33 написал(а):
YVSIK
Winston
killer8080
Парни,всем спасибо,проблему решил.Благодарю что не прошли мимо и потратили свое время на меня.
P.S.Проблему решил установкой новой версии EasyPHP5.3.0,там все эти расширения по умолчанию идут.Пришлось конечно роскоментировать extension=php_fileinfo.dll и все пошло.И путь к Маг.Базе больше указывать не надо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.