in reply to RE: Confuse and lost in Transfer files process
in thread Confuse and lost in Transfer files process
Ah, a Win9x "quirk". I'll have to play with that when I get back to my Win9x box.
So I suggest you add an extra synchronization step. The most reliable I've come up with is something like:
- tye (but my friends call me "Tye")sub fail { # Allow failures to show on the web page. print @_; exit 0; } $finish = 'transfer'; foreach $wmlfile (@fileftp) { if(-e "$finish/$wmlfile") { unlink "$finish/$wmlfile" or die "Can't delete $finish/$wmlfile: $!\n"; } if(-f $wmlfile) { $ftp_commands = " open $remotehost1 user $remoteuser $remotepass cd $remotepath asc put $wmlfile lcd $finish get $wmlfile bye\n"; open (CMD, "|$cmd") or fail "Can't fork() to run $cmd ($wmlfile): $!\n"; print CMD $ftp_commands or fail "Can't write commands to $cmd ($wmlfile): $!\n"; close (CMD) or fail "$cmd ($wmlfile) failed? ($?): $!\n"; for( 0..100 ) { last if -f "$finish/$wmlfile"; sleep 5; } die "$finish/$wmfile not found!\n" unless -f "$finish/$wmlfile"; print "File $wmlfile has been transferred \n"; print "<br>\n"; } }
|
|---|