momento que vamos lentos...

.
¿no te la reemplaza de donde?? de tu carpeta?? ¿bien con lo que respecta a la Base de Datos??
Prueba borrando el archivo si existe antes de moverlo... se me ocurre así de rápido.
www.php.net/file_exists www.php.net/unset
... y no ucupes copy()... ocupa move_uploaded_file
www.php.net/move_uploaded_file 
.. y ya que estamos en esas... no valides por extención, no es seguro... mejor hacerlo con $_FILES['archivo']['type']
Suerte!