$new_name non sarà mai vuoto ma avrà almeno un punto
cambia così e vedrai l'errore
codice:
@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
        or die("Impossibile inviare il file, controllare i permessi della directory:
Path:$upload_dir/$file_name");