Hai provato a fare una echo $_FILES['foto']['error']?

Se diversa da zero vuol dire che hai un errore in fase di upload. Per dettagli sugli errori vedi la pagina

http://it.php.net/manual/en/features...oad.errors.php