bueno, algo tarde pero ahi vamos...
Creo que la funcion simpre te va a subir la imagen al mismo directorio a menos que cambies una linea. En la funcion, donde dice:
Código PHP:
$foto2=md5(time()).$archivo;
Cambiala a:
Código PHP:
$foto2="fotos/".md5(time()).$archivo;
'fotos/' siendo el directorio donde quieres guardar la imagen
Tambien, la variable $archivo es el nombre que le quieras poner a la imagen. A esta variable se le va a añadir un 'timespamp' convertido en un hash md5 al principio, lo que me parece muy bien ya que esto hace que ningun archivo tenga el mismo nombre y asi evitar que borre uno que ya estaba el la carpeta.
La variable $archivotemp la estas pasando bien, pues debe ser el archivo temporero subido por el usuario.
Tambien te recomiendo que usus
move_uploaded_file en vez de 'copy'. Eso te mueve el mismo archivo que el usuario subio en vez de copiarlo.