Forum Moderators: phranque
Are you sure that your ftp is getting the updated information from the server, not a cached response (again getting the obvious out of the way)?
If this is a php problem you may be better off asking on the php forum.
It might be a rights setting. On new versions of linux where selinux is activated, you sometimes may get strange results when the selinux [en.wikipedia.org] layer filters out files from directory listings in one protocol, but not in another. To prevent strange behaviour many hosting companies switch selinux off on their servers by default though.
If selinux is the problem, the directory where you upload your files first probably doesn't have the attributes set to be viewed by ftp. If these attributes get inherited by your uploaded file and you then move it to a new location, these attributes can be moved too, causing your file to be excluded from the FTP listing.