$ftp = Net::FTP->new($ftp_server);
if($@)
{
$g_strLastError = "不能连接到FTP服务器,错误原因:".$@;
LOG("$g_strLastError@n");
$g_nUploadSuccess = -1;
}
else
{
$ftp->login($ftp_uid, $ftp_pw);
if($@)
{
$g_strLastError = "不能登陆FTP服务器,错误原因:".$@;
LOG("$g_strLastErrorn");
$g_nUploadSuccess = -1;
}
else
{
$ftp->binary;
LOG("链接FTP服务器成功!");
##---------------------------#
##---------------------------#
##=== 程序执行的第二步,将指定A类文件夹下所有A类文件上传到FTP站点指定目录下 ===##
my %lookup;
LOG("准备上传“A类文件”目录(@src_dir_WAVFiles)下的所有文件!");
find(&processFiles, @src_dir_WAVFiles);
LOG("目录(@src_dir_WAVFiles)已经处理完毕,结果是:");
##---------------------------#
##=== 程序执行的第三步,将指定B类文件夹下B类文件上传到FTP站点指定目录下 ===##
if($g_nIsAllWAVsFile_UploadSuccess > 0)
{
LOG("+===============================+");
LOG("准备上传B类目录(@src_dir_NamesListFile)下的所有文件!");
find(&processFiles, @src_dir_NamesListFile);
LOG("目录(@src_dir_NamesListFile)已经处理完毕,结果是:");
LOG("-===============================-");
}
else
{
LOG("-===============================-");
LOG("由于A类文件目录并没有完全上传,所以本B类文件不上传!");
LOG("-===============================-");
}
##---------------------------#
##---------------------------#
# 日志文件的最后是一个统计报告
$span = calcDeltaSeconds($start_date,timeString(time));
LOG("上传结果:成功。n花费:$span 秒, 总共处理了 $total_files 个文件, 其中 $processed_files 上传成功, 跳过了 $skipped_files 个文件。");
$ftp->quit() or warn "unable to quit: $@n";
}
closeLogfile();
}
##---------------------------#
##---------------------------#
##=== 程序执行的第四步,写成功日志 ===============================##
if($g_nIsAllWAVsFile_UploadSuccess > 0 && $g_nUploadSuccess > 0)
{
$logfilename = 'Upload_Succ_'.shortTimeString(time).'.log';
$log_cnt = 0;
LOG("");
LOG("FTP自动上传文件 Version 0.1");
LOG("");
LOG("上传结果:成功。n花费:$span 秒, 总共处理了 $total_files 个文件, 其中 $processed_files 上传成功, 跳过了 $skipped_files 个文件。");
LOG("");
closeLogfile();
}
##---------------------------#
##---------------------------#
##=== 程序执行的第四步,写失败日志 ===============================##









