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:
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";
}
}
-
tye
(but my friends call me "Tye")
|