Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loFtp
LOCAL i
LOCAL n

lnSuccess = 0

*  This example requires the Chilkat API to have been previously unlocked.
*  See Global Unlock Sample for sample code.

loFtp = CreateObject('Chilkat.Ftp2')

loFtp.Hostname = "ftp.example.com"
loFtp.Username = "login"
loFtp.Password = "password"

*  Connect and login to the FTP server.
lnSuccess = loFtp.Connect()
IF (lnSuccess <> 1) THEN
    ? loFtp.LastErrorText
    RELEASE loFtp
    CANCEL
ENDIF

*  The ListPattern property is our directory listing filter.
*  The default value is "*", which includes everything.
? loFtp.ListPattern

*  To get file and sub-directory information, simply
*  loop from 0 to ftp.GetDirCount() - 1

n = loFtp.GetDirCount()
IF (n < 0) THEN
    ? loFtp.LastErrorText
    RELEASE loFtp
    CANCEL
ENDIF

IF (n > 0) THEN
    FOR i = 0 TO n - 1

        *  Display the filename
        ? loFtp.GetFilename(i)

        *  Display the file size (in bytes)
        ? STR(loFtp.GetSize(i))

        *  Is this a sub-directory?
        IF (loFtp.GetIsDirectory(i) = 1) THEN
            ? ".. this is a sub-directory"
        ENDIF

        ? "--"
    NEXT
ENDIF

? "-----------------------------------"

*  Only files and directories
*  matching the ListPattern are returned.
loFtp.ListPattern = "*.asp"
n = loFtp.GetDirCount()
IF (n < 0) THEN
    ? loFtp.LastErrorText
    RELEASE loFtp
    CANCEL
ENDIF

IF (n > 0) THEN
    FOR i = 0 TO n - 1

        *  Display the filename
        ? loFtp.GetFilename(i)

        *  Display the file size (in bytes)
        ? STR(loFtp.GetSize(i))

        ? "--"
    NEXT
ENDIF

lnSuccess = loFtp.Disconnect()

RELEASE loFtp