Il controllo, inoltre, fallo in questo modo:

if ( isset( $photo ) && $photo != '' ) ...

Per ciò che riguarda l'uso della funzione move_uploaded_file essa accetta come primo parametro il nome temporaneo del file caricato, quindi, $_FILES['file_var']['tmp_name'] .