Es posible que desee almacenar el contenido de la imagen directamente en su base de datos.
Como dijiste, necesitas analizar el tipo de contenido del nombre del archivo. También puede agregar un campo a su base de datos que contenga la extensión.
$extension = end(explode('.', $row['file']));
Luego, debe crear una matriz que contenga el tipo de contenido del encabezado:
$types['jpg'] = 'image/jpeg';
$types['png'] = 'image/png';
luego envíe el encabezado (querrá comprobar si los tipos matriz contiene la extensión clave y error si no es así)
header('Content-Type: ' . $types[$extension]);
Luego carga tu imagen con
echo file_get_contents($image);
Deberias hacer eso. Tenga en cuenta que realmente debe verificar si el parámetro ImageID es un número entero, por razones de seguridad:
if(!ctype_digit($_GET['ImageID'])) // error