![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: 2 Всего: 2 |
Собственно, что еще добавить?
Повторюсь просто: нужно узнать МИМЕ-тип файла (картинка аль экзе, аль текст аль ишшо какой), желательно не используя нестандартных модулей, как-нибудь разэдак так... Можно? |
|||
|
||||
tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 4 Всего: 8 |
print <STDIN>;
Добавлено @ 00:02 А, вообще-то, CGI - стандартный модуль. |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
А системная команда file не подойдет?
|
|||
|
||||
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: 2 Всего: 2 |
Хм... я что-то, товарищи, не совсем понимаю, в чем суть ответа :-)
Может я не так вопрос задал? И, если можно, поподробнее, плз.: Вот файл лежит у меня на диске. Я могу узнать - файл это или папка. ОК. А дальше-то? Хочу узнать, какой у файла МИМЕ-тип, экзешник он или просто картинка. По расширению узнавать тупо. Системная команда не желательно... Можно узнать по содержимому джипег и пнг, можно узнать и rar и zip.. вот только это гемор, мож есть модули стандартные или что-то навроде file->stat... |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
|
|||
|
||||
nitr |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
гадатели ;)
Добавлено @ 18:22 имхо стандартный модуль (могу ошибатся, БД большая ;) ) можно так 1.pl
Добавлено @ 18:23 а как он работает... ;) имхо amg ответил ;) |
||||||
|
|||||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
В винде MIME хранится в реестре.
HKEY_CLASSES_ROOT -> .pl -> Content Type = application/x-perl Заметь, что Content Type, полностью зависит от расширения. Файлы без расширения в винде являются неизвестными. Какой у них может быть тип? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
korob2001, shootnix, откройте MIME::Types , пролистайте ;)
amg тоже верно говорит - расширение... а модуль тут как тут ;) и ен привязан к ОС! Добавлено @ 07:47 у меня 637 строка ;)
з.ы.: и работаю я также во Фряхе (проверял и в ней!) Добавлено @ 07:49 короче shootnix, perldoc MIME::Types Это сообщение отредактировал(а) nitr - 10.1.2007, 08:08 |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
File::Type. Это модуль, который может определять и MIME-тип файла, и тип файла по содержимому. Есть пакет и под win.
Попробовал этот модуль. На самом он пытается определить MIME-тип файла только по содержимому (не обращая внимания на имя, и это правильно!), но делает это плохо. Другой модуль, File::MMagic, делает то же самое, но гораздо лучше. Рекомендую его. Это сообщение отредактировал(а) amg - 10.1.2007, 10:40 |
|||
|
||||
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: 2 Всего: 2 |
Спасибо, товарищи...
На CPAN валяется довольно много модулей для такого вот действа, только все они требуют установки. То есть, не стандартные. Это, в принципе, не плохо. Единственно - придется таскать его в дистрибе.. Или написать свой :-) В общем, проблема, как мне кажется, более философская, поэтому и решена :-))) |
|||
|
||||
korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
И что? Посмотри на код метода который ты вызываешь для определения типа:
Обрати внимание на эту строку:
Она обрезает всё, кроме расширения. Мало того, файл может и не существовать, попробуй преедай ему имя не существующего файла test.exe и получишь его тип. Он нужен для того, что бы просто определить к какой тип у файла с определённым расширением. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
shootnix, посмотри плиз модуль, имхо стандартная поставка
MIME::Types MIME::Type |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |