Un pequeño error de HTML en tu código
claudiovega (que no debería afectar en el funcionamiento) es que imprimes la etiqueta de apertura del formulario aunque no se vaya a imprimir este; la condicional ha de ir antes. Igual habría que hacer uso de la función is_uploaded_file() pués una cosa es que se haya subido el archivo y otra colocarlo en su hubicación final.
lugimon: Tu código esta(ba) desactualizado; el uso de copy() es obsoleto, para recojer valores de un formulario debes hacer uso de variables superglobales.
Ve los siguientes enlaces:
www.forosdelweb.com/showthread.php?postid=238989 www.php.net/variables.external www.php.net/features.file-upload
Hay FAQ que tratan sobre subir archivos a el servidor, además de ser tema común.
Suerte!