hualong1009 发表于 2017-1-20 08:39:00

通過FTP無法下載FTP端實時更新的文件

   #cs
       Auther: Hansen
       Description: Used to get test status ,and download log
       Version: V1.0
       Date: 2017/1/12
    #ce

    #include <FTPEx.au3>
    #include <GUIConstantsEx.au3>
    #include <ListviewConstants.au3>
    #include <File.au3>
    #Include <GuiListView.au3>
    #RequireAdmin

    Opt('MustDeclareVars',1)
    Opt("GUIOnEventMode", 1)

    Local $main_gui,$msg,$item_list,$iii,$time_label
    Local $ftp_address="10.67.222.2",$ftp_dialog,$ftp,$return1
       Global $log_all_path=@ProgramFilesDir&"\status_log",$log_path=@ProgramFilesDir&"\status_log\status.ini",$log_path_swap=@ProgramFilesDir&"\status_log\status_swap.ini",$log_path_completed=@ProgramFilesDir&"\status_log\status_completed.ini",$ii=0,$list_view
    Func load_ftp_log()
       Global $file_line
       If FileExists($log_path) Then FileDelete($log_all_path)
            MsgBox(0,'','')
       $ftp=_FTP_Open("Teststatus")
       $ftp_dialog=_FTP_Connect($ftp,$ftp_address,"anonymous","")
       If $ftp_dialog=0 Then
            MsgBox(0,'Warning!',"Can't connect host server(10.67.222.2)!",3)
            Exit
       EndIf
       $return1=_FTP_FileGet($ftp_dialog,"pub/status.ini",$log_path,False,0,0)
       ;$return1=_FTP_ProgressDownload($ftp_dialog, $log_path, "pub/status.ini")
       MsgBox(0,'',$return1)
       _FTP_FileGet($ftp_dialog,"pub/status_swap.ini",$log_path_swap)
       _FTP_FileGet($ftp_dialog,"pub/status_completed.ini",$log_path_completed)
       $file_line=_FileCountLines($log_path)
    EndFunc

    load_ftp_log()
    Sleep(10000)
    load_ftp_log()上面是我獲取FTP文件的一些代碼,最後是間隔10秒后再獲取一次FTP端的文件到本地,問題就是當我在這十秒内更改FTP端的文件,遇到最後一次獲取到的文件不是我修改后的文件,而是第一次獲取的,但是當我程序重新運行,第一次就可以獲取到我修改的文件,可是修改后同樣最後一次不能獲取到我修改后的文件,這個脚本主要是想持續去抓取FTP端文件的變化,有誰知道麽?自己試了很多還是不行!
有試過每次下載刪除上次本地已經下載的文件,FTP端文件同步,都不能解決!

hualong1009 发表于 2017-2-6 10:54:22

同志们,谁谁站出来回答下呀?

hualong1009 发表于 2017-2-6 12:02:16

赚点金币玩玩!{:face (114):}

229989799 发表于 2017-2-6 14:05:50

下载前先刷新一下??

hualong1009 发表于 2017-2-6 16:53:58

回复 4# 229989799


    {:face (356):}怎麽刷新?

h20040606 发表于 2017-2-8 04:55:06

在load_ftp_log函数的结束出加上_ftp_close试一下。

hualong1009 发表于 2017-2-8 10:39:49

回复 6# h20040606


    {:face (125):}有試過,還是不行,貌似必須重啓這個軟件才能獲取FTP更新后的文件,總是差一個刷新!

229989799 发表于 2017-2-9 15:42:58

_ftp_close再重新连上去,检测文件大小一样就不下载
页: [1]
查看完整版本: 通過FTP無法下載FTP端實時更新的文件