pues no es posible como lo imaginas, con
empty() no puedes evitar que el usuario suba de nuevo el mismo archivo....
ahora, una ves guardes el archivo no debes "blanquear" nada, PHP limpia automáticamente las variables... quizá lo que necesitas recargar la pagina con
header() para evitar que se reenvíe la información, que no es igual....
aún así sigo confundido con tu manera de ver las cosas, aún no lo entiendo...
pero por favor, es mejor
leer el manual para saber lo que se puede y lo que no se puede hacer:
http://php.net/manual/en/features.file-upload.php