Fijate en la ruta del error que da en copy() ..
PHP al subir tu archivo por HTTP (por tu formulario con ese campo file) ..sube a un directorio "temporal" donde va a quedar hasta que decidas que hacer con el .. si leerlo, copiarlo . moverlo .. etc.
Ese nombre y ruta temporal lo obtienes con la propiedad "tmp_name" ..
$archivo_tmp_name
Te recomiendo usar en lugar de copy() la función move_uploaded_file() (se usa exactamente igual).
Revisa la documentación de PHP al respecto .. sobre todo para usar métodos seguros para tu Upload ($_FILES['archivo']['propiedad'] en lugar de $archivo como global ..)
http://www.php.net/manual/en/features.file-upload.php
Un saludo,