Delphi визначення типу файлу по сигнатурі

Ідея використання механізму розбору сигнатур виникла трохи більше року тому під час написання свого невеликого антивіруса, що входить до складу SP-Монітор.

Якщо перейменувати файл, змінивши йому розширення, то іноді важко визначити, до якого типу даний файл відноситься. Розглянутий нижче алгоритм дозволить визначати деякі поширені формати файлів, а саме:
    mp3 wav mid jpg gif mpg mpeg mov asf pdf class exe rar zip

Кількість підтримуваних форматів Ви можете збільшити самостійно. Ідея розпізнавання заснована на тому, що сигнатура заголовка файлу певного типу постійна, і не змінюється. Наприклад, для exe-файлів першими двома байтами в файлі є "MZ", для zip-архівів "PK".

Перевірка приналежності файлу до того чи іншого формату складається з двох етапів:
    читання 7 перших байт досліджуваного файлу
    перевірка деяких байт, детектування

Зупинимося на другому етапі.

Для того, щоб використовувати оперативну пам'ять під нашу змінну, пам'ять треба зарезервувати:

Ось текст функції:

По завершенню програми не забуваємо очистити пам'ять від сміття. Оскільки ми самі виділили пам'ять для змінної MyBuf, то і нам цю пам'ять звільняти:

Функція написана. Вона не ідеальна, але допоможе розібратися з різнотипними файлами.

Apache - це кросплатформаенное програмне забезпечення, що відноситься до класу http-серверів. Підтримується безліччю операційних систем: Windows, Linux, MacOS і т.д. Одним з ключових чинників в питанні використання даного web-сервера є сучасною функціональністю та надійність виконання операцій. Apache включає в себе безліч додаткових модулів, що дозволяють працювати з різними базами даних, контролювати аутентифікацію користувачів і т.д.