getimagesize()
проанализирует заголовок файла на наличие "магических байтов", идентифицирующих формат.Помимо загрузки файла в GD и его повторного сохранения, это самый надежный способ убедиться, что файл является изображением.
Поддерживается ряд форматов, включая BMP, TIFF и PSD.