2010-10-20 40 views
0

想從無法下載的遠程zip文件中的.csv文件讀取內容&將zip文件解壓縮到本地機。IO錯誤:尋找本地頭文件:在使用Archive :: Zip從遠程服務器讀取時,PERL

我需要這個,因爲文件的zip文件的大小太大,只要需要下載它 需要更長的時間。

我正在試圖在Perl中。我的代碼是: my $ ftp = Net :: FTP :: AutoReconnect-> new(「ftp.somename.com」); $ ftp-> login(「user」,「password」); $ ftp-> cwd(「path」);

my $fh = Net::FTP::RetrHandle->new($ftp,"filename.zip"); 
my $zip = Archive::Zip->new($fh); 
my @member_names = $zip->memberNames(); 
my $member1 = $zip->memberNamed("Basic/BoardDescriptions.csv"); 

my $string = $member1->contents(); 
print Dumper $string; 

我得到IO ::尋求本地頭錯誤而調用內容的方法, 直到這句話我想代碼工作正常。

在此先感謝任何嘗試過它的人。 謝謝。

+0

NET :: FTP將「下載文件到本地機器」。如果沒有在遠程計算機上運行某些內容,則無法遠程讀取文件。 – Ether 2010-10-20 16:33:48

回答

0

我的猜測是,這不是歸檔:: ZIP的錯.. 你可以打印@member_names?

這不是明顯的傻冒怎麼想提取一個單獨的文件,雖然不Net::FTP::RetrHandle答應呢:

This was originally designed for use with Archive::Zip; it's reliable enough that the table of contents and individual files can be extracted from a remote ZIP archive without downloading the whole thing.

嘗試做同樣與來自其他服務器的另一個文件..

相關問題