El nombre del fichero temporal se obtiene mediante la clave 'tmp_name', no 'tmp_file'. Proba cambiando esta línea:
Código PHP:
<?
..
if (is_uploaded_file($_FILES['foto']['tmp_name']) and ($_FILES['foto']['type']=="image/jpeg")){
....
?>
Una sugerencia: tratá de utilizar siempre $_FILES en lugar de $_HTTP_POST_FILES.
Saludos.