Assuming this is C# Winforms, and the PHP reference is spurious...
The first thing you need to do is detect the change:
FileSystemWatcher class[
^] - but do also read this pretty carefully:
FileSystemWatcher - Pure Chaos (Part 1 of 2)[
^]
Then it's relatively simple: File.Copy within a try...catch block in case the file is busy, with a retry if it is.