求助:通过NET:FTP的size函数取得的文件大小与实际大小不一样

求助:通过NET:FTP的size函数取得的文件大小与实际大小不一样

通过NET:FTP的size函数取得的文件大小与实际大小不一样  该如何解决呢 想用cmd函数解决 但是却执行结果不是我想要的 请大侠看看哪里不对
use Net::FTP;
#tonglink主机IP
$ftpServerIp="192.168.11.25";
#用户名
$user="toptea";
#密码
$password="utopteaabc";
$dir="/export/home/toptea/renxq/aaa.txt";
my $t1 =Net::FTP->new($ftpServerIp)|| die $!;
$t1->login($user, $password) || die $!;
print $dir;
my $size=$t1->cmd("ls -l ".$dir);
print $size;
使用

QUOTE:
$t1->binary;

先!~

对,先二进制就可以了,闲来没事给你一段代码,呵呵!!我刚写的哟



sub putFtpfile{
        my $ip = shift;
        my $user = shift;
        my $pass = shift;
        my $rpath = shift;
        my $filename = shift;
        my $lpath = shift;

        my $filestate = 0;
        my $ff;

        print "ip=$ip,user=$user,passwd=$pass,remotepath=$rpath,ftpfilename=$filename,localpath=$lpath\n";

        $ff = Net::FTP->new($ip , Timeout => 10) or writeLog("ErrorMsg='Cannot connect the ftp host!'"), $filestate = 3;
        if($filestate == 0)
        {
                $ff->login($user,$pass) or writeLog("ErrorMsg='Cannot login!'"), $filestate = 3;
                if($filestate == 0)
                {
                        $ff->cwd($rpath) or print ("ErrorMsg='Cannot change working directory!'"), $filestate = 2;
                        if($filestate == 0)
                        {
                                $ff->binary;
                                chomp $lpath;
                                $lpath =~ s/^\s+//;
                                $lpath =~ s/\s+$//;
                                $lpath =~ s/\/+$//;
                                $filename = $lpath."/".$filename;
                                $ff->put($filename) or print("ErrorMsg='Get the file failed!'"), $filestate = 1;
                        }
                }
        }
        $ff->quit;
        return $filestate;
}