Intereting Posts
Как найти временную метку unix для начала следующего дня в php? Как установить карту изображения в части фонового изображения? Как преобразовать значение PHP из окон-1257 в UTF-8 Как предотвратить множественные логины на веб-сайте PHP Возвращает ограниченное количество записей определенного типа, но неограниченное количество других записей? Неопределенная переменная и смещение Функция внутри функции.? Найти все возможные 2 комбинации букв в заданной строке, используя PHP Как передать значения полей ввода формы в скрипт, используя AJAX / jQuery? Getresponse API 2 (добавление пользовательских полей и контактов с помощью PHP) Загрузите видео на Youtube с помощью API Youtube V3 и PHP Очистить веб-сайт, созданный Javascript как обрабатывать ошибку синтаксического анализа для функции eval в php Глобальное промежуточное ПО Laravel не может получить сеанс Получение мультимедиа: thumbnail из XML

Подтвердить, что файл представляет собой изображение в PHP

Если файл загружен на сервер, есть ли способ использования PHP, чтобы убедиться, что это на самом деле изображение, а не только файл с расширением .jpg или .gif?

Использование (часть) библиотеки GD.

PHP: GD – Руководство

array getimagesize ( string $filename [, array &$imageinfo ] ) 

Первый элемент массива будет 0, если нет изображения. PHP: getimagesize

Если у вас нет установленного GD (большую часть времени вы будете), вы можете прочитать заголовок файла, как упоминал Шейн .

EDIT: На самом деле, как отметил Нил в комментариях, библиотеке GD даже не требуется использовать эту функцию. Так что используйте его.

лучший способ проверить, является ли файл образным

 function is_image($path) { $a = getimagesize($path); $image_type = $a[2]; if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP))) { return true; } return false; } 

подробнее: http://www.binarytides.com/php-check-if-file-is-an-image/

Наиболее эффективным способом было бы посмотреть начальные байты файла и проверить спецификатор файла «magic number». Вот список магических чисел .

Для записи: теперь в 2013 году мы можем:

Для макс. совместимость (если у вас нет библиотеки GD).
Используйте всегда доступный тип mime-content-type ((PHP 4> = 4.3.0, PHP 5))

 $type = mime_content_type($filename); if (strstr($type, 'image/')) { echo 'is image'; }