penso che il problema il valore che dai per la destinazione del file, prova con questo:

$file_path = $_SERVER['DOCUMENT_ROOT'].'/'.$upload_dir.$file_name;

così dovrebbe funzionare