J'utilise cette fonction pour lister les fichiers contenus sur un serveur. Ma question est comment je peux mettre des filtres pour ne pas que des fichiers avec un certains type d'extension s'affichent...
Merci par avance.
► Afficher le texte
Code : Tout sélectionner
Func _FTP_Download(ByRef $aFTPFileList, $sRemotePath, $sHost, $iFlag, $sLogin = "****", $sPassword = "****", $iPassive = 1, $iPort = **)
Local $hFtp, $hSession, $aFind, $hFind, $Result = 1
$hFtp = _FTP_Open("MyAutoItFTP")
$hSession = _FTP_Connect($hFtp, $sHost, $sLogin, $sPassword, $iPassive, $iPort)
$aFind = _FTP_FindFileFirst($hSession, $sRemotePath, $hFind)
While Not @error
$Path = $sRemotePath & '/' & $aFind[10]
If BitAND($aFind[1], $FILE_ATTRIBUTE_DIRECTORY) Then
If Not _FTP_Download($aFTPFileList, $sRemotePath & '/' & $aFind[10], $sHost, $sLogin, $sPassword, $iPassive, $iPort) Then
Return 0
EndIf
If $iFlag = 0 Or $iFlag = 2 Then
Local $iUBound = UBound($aFTPFileList)
ReDim $aFTPFileList[$iUBound + 1][4]
$aFTPFileList[$iUBound][0] = $sRemotePath & '/' & $aFind[10] & '/'
$aFTPFileList[$iUBound][0] = $aFind[10]; & '/'
EndIf
Else
If $iFlag = 0 Or $iFlag = 1 Then
Local $iUBound = UBound($aFTPFileList)
ReDim $aFTPFileList[$iUBound + 1][4]
$aFTPFileList[$iUBound][0] = $sRemotePath & '/' & $aFind[10]
$aFTPFileList[$iUBound][1] = $aFind[10]; & '/'
$aFTPFileList[$iUBound][2] = _FTPFileTimeLoHiToStr($aFind[6], $aFind[7])
$aFTPFileList[$iUBound][3] = _FTPFileSizeLoHi($aFind[8], $aFind[9])
EndIf
EndIf
$aFind = _FTP_FindFileNext($hFind)
WEnd
_FTP_FindFileClose($hFind)
_FTP_Close($hFtp)
$aFTPFileList[0][0] = UBound($aFTPFileList) - 1
Return $Result
EndFunc ;==>_FTP_Download
;===============================================================================
;
; Function Name: _FTPFileTimeLoHiToStr()
; Description: Get FileTime String
; Parameter(s):
; Requirement(s): DllCall, date.au3
; Return Value(s): On Success - Date
; On Failure - "" (empty String)
; Author(s): Prog@ndy
;
;===============================================================================
Func _FTPFileTimeLoHiToStr($LoDWORD, $HiDWORD)
Local $FileTime = DllStructCreate("dword;dword")
If Not $LoDWORD And Not $HiDWORD Then Return SetError(1, 0, "")
DllStructSetData($FileTime, 1, $LoDWORD)
DllStructSetData($FileTime, 2, $HiDWORD)
Local $date = _Date_Time_FileTimeToStr($FileTime,1)
Return SetError(@error, @extended, $date)
EndFunc ;==>_FTPFileTimeLoHiToStr
;===============================================================================
;
; Function Name: _FTPFileSizeLoHi()
; Description: Get FileSize
; Parameter(s):
; Return Value(s): Size
; Author(s): Prog@ndy
;
;===============================================================================
Func _FTPFileSizeLoHi($LoDWORD, $HiDWORD)
Return BitOR(BitShift($LoDWORD, -32), BitAND($HiDWORD, 0xFFFFFFFF))
EndFunc ;==>_FTPFileSizeLoHi

