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