Просмотр поста

.
ramzes

функция (достоверно) проверяет, является ли файл картинкой
возвращает или миметип картинки или false

/**
 * @param  string $file
 * @return string|bool
 */
function is_img($file)
{

    $image_valid_ext = [
        'jpg',
        'jpeg',
        'png',
        'gif',
        'webp'
    ];
    $image_valid_mime = [
        'image/webp',
        'image/png',
        'image/jpeg',
        'image/gif',
        'image/bmp'
    ];

    if(file_exists($file)){

        $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));

        if(in_array($ext, $image_valid_ext)){

            $real_file_extension = image_type_to_mime_type(exif_imagetype($file));

            if(in_array($real_file_extension, $image_valid_mime)){

                return $real_file_extension;

            }else{
                return false;

            }
        }else{
            return false;

        }
    }else{
        return false;

    }
}


if(is_img('storage/image.png')){
    echo'is image';
}else{
    echo'is not image';
}