Sample code for 30+ languages & platforms
PureBasic

Using the FTP Session Log

See more FTP Examples

The Chilkat FTP component can keep a session log if the KeepSessionLog property is turned on. This is helpful in debugging problems. Chilkat support will usually ask for a session log when working to resolve your problem, because it contains a log of the exact commands sent to the FTP server, and the exact responses received.

Chilkat PureBasic Downloads

PureBasic
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")

    ; Set the KeepSessionLog property in order to keep a session log.
    ; The session log will continuously grow in memory.  The
    ; ClearSessionLog method may be called to clear it.  The session
    ; logging may be turned on/off at any point.
    CkFtp2::setCkKeepSessionLog(ftp, 1)

    ; Connect and login to the FTP server.
    success = CkFtp2::ckConnect(ftp)
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    ; Change to the remote directory where the existing file is located.
    success = CkFtp2::ckChangeRemoteDir(ftp,"junk")
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    ; To clear the SessionLog at any point, call ClearSessionLog:
    ; call ftp.ClearSessionLog();

    ; Append moreHamlet.txt to hamlet.txt on the FTP server.
    localFilename.s = "moreHamlet.txt"
    remoteFilename.s = "hamlet.txt"

    success = CkFtp2::ckAppendFile(ftp,localFilename,remoteFilename)
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    success = CkFtp2::ckDisconnect(ftp)

    ; Display the entire session log:
    Debug CkFtp2::ckSessionLog(ftp)

    Debug "File Appended!"


    CkFtp2::ckDispose(ftp)


    ProcedureReturn
EndProcedure