Seppo ..
Lee la documentación oficial al respecto .. el uso del formulario HTML que usas no es correcto .. le faltan definiciones para que tu formulario suba datos "binarios" y "texto plano" simultáneamente.
http://www.php.net/manual/en/features.file-upload.php
Cuando eso lo tengas claro .. puedes usar el código de ejemplo de
mauricio2004, pero NO USES $foto_type .. $foto_name .. etc .. Usa los arrays superglobales por tu seguridad: $_FILES['foto']['type'] .. etc (en lugar de "foto" .. como se llame el campo de file= de tu formulario html). Tampoco uses copy() sino move_uploaded_file() ... y no uses @ .. sino no veras los mensajes de error que puedas tener para ver el problema .. Cuando todo funcione OK, si quieres lo usas pero no antes.
Un saludo,
Un saludo,