Re: [問題] ftp抓檔案的問題
※ 引述《handsomegirl (薰)》之銘言:
: : use Net::FTP;
: : open (FILE, ">*.txt");
: : $ftp = Net::FTP->new("1xx.1xx.xx.xx",Debug => 1,Timeout => 6000) or die "Can't connect: $@\n";
: : $ftp->login("user", "pass");
: : @lines = $ftp->ls("/home/test");
: 試了一下,大概是我這邊目錄設錯了
: 少了一個路徑值
: 所以抓不到檔案
: 然後斜線要變成兩條反斜線
: \\home\\test
只有一個斜線會變跳脫字元
「\t」會被解釋成「Tab」
: 現在目錄找到了 卻沒有任何檔案在我的資料夾裡面
: 問題多多啊~
: : foreach $file(@lines){
: : $ftp->get("/home/test/*.txt", "c:\\Perl\\test\\*.txt") or die "can't get file\n";
: : print FILE "*.c\n";
: : }
抱歉,我沒有用過 Net::FTP,純粹用猜測的
不清楚 get 有沒有支援「*」這個萬用字元
如果有支援的話,這段程式碼應該會把相同的檔案重複抓很多次吧
試試看改成
foreach $file(@lines) {
$ftp->get("/home/test/$file","c:\\Perl\\test\\$file") or die "Orz";
}
因為從上一行程式碼來看: @lines = $ftp->ls("/home/test");
@lines 裏面放的應該是所有檔名呀!
: : 問題2.怎麼樣可以篩選有更新的檔案,並且固定在每天早上七點執行?
: : 最近剛好做個系統,問題有點多,先謝謝了
如果執行環境是 Unix-like,可以丟到 crontab 裏面去跑
如果是 Windows 的話....我就不知道了 :P
話說「檔案更新」的部份,或許可以從檔案時間裏面去判斷
FTP server 應該是 Unix-like 吧?
LinuxDev 板有個「關於file time」的討論串可以參考看看。
--
我想你會衰成這樣都是我害的
---- Tizzy Mac
緊張的麥金塔?這是誰(._.?)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.128.98.6
※ 編輯: WalkingIce 來自: 140.128.98.6 (06/22 14:15)
推
06/22 14:21, , 1F
06/22 14:21, 1F
討論串 (同標題文章)