Is register_globals on? I assume so (not recommended but still common); 'cos you say $foto instead of $FILES['foto'] or $HTTP_POST_FILES['foto'], which are_ arrays.
Assuming that then no, it's not normal. $foto should be the filename of the just-uploaded temporary file on the server - the file's real name is in $foto_name.
Let's see some more code and maybe we can see where things are going awry.