Как получить тип содержимого файла

0

Я реализую сервер HTTP/1.0, который обрабатывает GET или HEAD.

Я закончил Date, Last-Modified и Content-Length, но я не знаю, как получить Content-Type файла.

Он должен возвращать каталог для каталога (который я могу использовать с помощью функции stat()), а также для обычного файла text/html для text или html файла и image/gif для изображения или gif файла.

Должно ли это быть жестко закодированным, используя имя файла?

Интересно, есть ли какая-нибудь функция для получения этого Content-Type.

Теги:

2 ответа

0
Лучший ответ

Вы можете посмотреть на расширение файла (это то, что делают большинство веб-серверов), например, файл /etc/mime.types, или вы можете использовать libmagic для автоматического определения типа содержимого, просмотрев первые несколько байтов файла,

0

Это зависит от того, насколько вы изощренны.

Если соответствующие файлы все правильно названы, и обрабатывать только несколько типов, достаточно суффикса файла на основе коммутатора. Переход к крайнему случаю, правильное решение, независимо от того, что представляет собой файл, вероятно, потребует либо дублирования функциональных возможностей команды file Unix, либо его запуска в соответствующем файле (а затем перевода вывода в соответствующий Content-Type).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню