Во-первых, такая информация как user_id, обычно хранится в сессии. В вашем случае получается, что пользователь может ввести user_id другого пользователя (да еще и не фильтруется значение) и загрузить файл в его папку.
Во-вторых, нельзя файл сохранять с тем названием, что указано в запросе от пользователя. Генерируйте уникальную строку и храните с этим названием и с расширением из белого списка.