Я использую функцию finfo()
buffer()
, а также file_get_contents()
с платформы php, как показано ниже
$finfo = new finfo(FILEINFO_MIME);
$mimetype = $finfo->buffer(file_get_contents($filename)); #gives you mime type
Вы должны быть на php 5.3
или выше и убедиться, что у вас установлено расширение finfo()
. для Linux extension=fileinfo
. и в окнах: php_fileinfo.dll
вы можете иметь массив принятых типов MIME, а затем проверить, существует ли он в этом массиве
$acceptedMime = [];
if(in_array($mimetype, $acceptedMime, true) === true){
#mime type is valid. Proceed!
}
Еще одна альтернатива, позволяющая избежать проверки типов mime, - полностью сохранить загруженные файлы из корневой папки документа.