PureBasic
PureBasic
Get FTP Directory Listing Information
See more FTP Examples
_LANGUAGE_ example showing how to get information about files and subdirectories in the current remote FTP directory.Chilkat PureBasic Downloads
IncludeFile "CkFtp2.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
ftp.i = CkFtp2::ckCreate()
If ftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkFtp2::setCkHostname(ftp, "ftp.example.com")
CkFtp2::setCkUsername(ftp, "login")
CkFtp2::setCkPassword(ftp, "password")
; Connect and login to the FTP server.
success = CkFtp2::ckConnect(ftp)
If success <> 1
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
; The ListPattern property is our directory listing filter.
; The default value is "*", which includes everything.
Debug CkFtp2::ckListPattern(ftp)
; To get file and sub-directory information, simply
; loop from 0 to ftp.GetDirCount() - 1
i.i
n.i
n = CkFtp2::ckGetDirCount(ftp)
If n < 0
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
If n > 0
For i = 0 To n - 1
; Display the filename
Debug CkFtp2::ckGetFilename(ftp,i)
; Display the file size (in bytes)
Debug Str(CkFtp2::ckGetSize(ftp,i))
; Is this a sub-directory?
If CkFtp2::ckGetIsDirectory(ftp,i) = 1
Debug ".. this is a sub-directory"
EndIf
Debug "--"
Next
EndIf
Debug "-----------------------------------"
; Only files and directories
; matching the ListPattern are returned.
CkFtp2::setCkListPattern(ftp, "*.asp")
n = CkFtp2::ckGetDirCount(ftp)
If n < 0
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
If n > 0
For i = 0 To n - 1
; Display the filename
Debug CkFtp2::ckGetFilename(ftp,i)
; Display the file size (in bytes)
Debug Str(CkFtp2::ckGetSize(ftp,i))
Debug "--"
Next
EndIf
success = CkFtp2::ckDisconnect(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndProcedure