Since the problem involves a server timeout which you have problems getting around, I suggest that you use
system calls. Under normal circumstances, of course, this is hardly "good", but since you really need the power of
fork under windows (if I understand correctly), then your best bet would be to interface with a shell-based FTP client. This might involve writing to a temporary file to upload, but it circumvents the timeout on the scripts (perhaps a config option for this?) and will get the job done with minimum hassle. The script looks good and, as you say, it works fine until a timeout, so you've probably nailed the problem alot of other people have had in FTP via web. Good luck!
AgentM Systems nor Nasca Enterprises nor
Bone::Easy nor Macperl is responsible for the
comments made by
AgentM. Remember, you can build any logical system with NOR.