PERL FTP模块
发布时间:2020-12-16 00:02:38 所属栏目:大数据 来源:网络整理
导读:package MYFTP;use Net::FTP;sub new{my $class = shift;#一个空的引用my $ref = {};#将引用和对象绑定bless($ref,$class);#返回引用return $ref;}#FTP下载文件sub DownLoadFtpFile{my $ref = shift;my $FtpServer = shift;my $Ftpport = shift;my $Ftpuser
package MYFTP; use Net::FTP; sub new { my $class = shift; #一个空的引用 my $ref = {}; #将引用和对象绑定 bless($ref,$class); #返回引用 return $ref; } #FTP下载文件 sub DownLoadFtpFile { my $ref = shift; my $FtpServer = shift; my $Ftpport = shift; my $Ftpuser = shift; my $FtpPassWord = shift; my $FtpLocalSavePath = shift; my $FtpRemotePath = shift; my @FtpDownloadFile = @_; print "nFtp 正在建立连接 IP:$FtpServer 端口:$Ftpport 用户名:$Ftpuser 密码:$FtpPassWord n"; my $ftp = Net::FTP->new($FtpServer,Port=>$Ftpport,Debug => 0,Timeout => 600) or die "Cannot connect.n"; print "n连接成功,开始登陆.......n"; $ftp->login($Ftpuser,$FtpPassWord) or die "Could not login.n"; print "n登陆成功,开始下载文件.......n"; $ftp->cwd($FtpRemotePath) or die "Cannot change working directory.n"; #文件全部下载成功退出死循环 while(@FtpDownloadFile) { my $Index = 0; my $ArraySize = @FtpDownloadFile; foreach my $File (@FtpDownloadFile) { my $FtpDownLocalSavePath = $FtpLocalSavePath . "/$File"; my $Return = $ftp->get($File,$FtpDownLocalSavePath); if($Return eq undef) { print "n下载$File文件失败n"; next; } print "n下载$File文件成功n"; delete $FtpDownloadFile[$Index]; $Index++; } } print"n全部下载成功.......n"; $ftp->quit; } #FTP上传载文件 sub UpLoadFtpFile { my $ref = shift; my $FtpServer = shift; my $Ftpport = shift; my $Ftpuser = shift; my $FtpPassWord = shift; my $FtpRemotePath = shift; my @FtpUploadFile = @_; print "nFtp 正在建立连接 IP:$FtpServer 端口:$Ftpport 用户名:$Ftpuser 密码:$FtpPassWord n"; my $ftp = Net::FTP->new($FtpServer,开始上传文件.......n"; $ftp->cwd($FtpRemotePath) or die "Cannot change working directory.n"; #文件全部下载成功退出死循环 while(@FtpUploadFile) { my $Index = 0; foreach my $File (@FtpUploadFile) { my $Return = $ftp->put($File); if($Return eq undef) { print "n上传$File文件失败n"; next; } print "n上传$File文件成功n"; delete $FtpUploadFile[$Index]; $Index++; } } print"n全部上传成功.......n"; $ftp->quit; } #模块结束标识 1; ? ? ? ? ? ? ? use MYFTP; my $server = "10.92.209.156"; my $port = "21"; my $user = "root"; my $pw = "root"; my $LocalSavePath = "E:/22222/Test"; my $RemotePath = "/home/songbaisen"; my @DownloadFile; push @DownloadFile,"hell.pl"; push @DownloadFile,"CELL0.csv"; my $Ftp = MYFTP->new(); #&DownLoadFtpFile($server,$port,$user,$pw,$LocalSavePath,$RemotePath,@DownloadFile); $Ftp->UpLoadFtpFile($server,@DownloadFile); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |