Чтбы понять, что там, всё равно придётся сначала скачать файл. А дальше можно его как угодно анализировать, например через finfo в php. Можно сначала получить заголовок через запрос HEAD, убедиться, что файл существует и определить его объём.
И уж конечно никакие полученные от клиента данные не должны писаться в базу без контроля. Как минимум mysqli::bind.