When using copy on win32 (don't know about anywhere else), copy sets the 'last modified time' of the the new copy to the current time instead of that of the source (win32 copy preserves last modified time). If you are tracking backups by last modified time, use:
<?php
copy($src, $dest); touch($dest, filemtime($src));
?>
clearstatcache