Метрики для определения формата не всегда однозначны и трудно формализуются. Создать какие-то приближенные методы возможно, но они будут работать не со 100% результатом (хотя, возможно, и близким к ним). Работал над чем-то подобным для обработки наборов изображений поступающих роботу и ничего адекватного для С++, python, C# не нашел. По пхп не точно, но предполагаю, что ситуация аналогичная. Ну и подобную задачу решать на пхп не самый лучший вариант, так как для распознавания в любом случае потребуется разбор изображения, получение производных и т. п. в чем пхп явно не лучший игрок.