Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set ftp [new_CkFtp2]

CkFtp2_put_Hostname $ftp "ftp.example.com"
CkFtp2_put_Username $ftp "login"
CkFtp2_put_Password $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_put_KeepSessionLog $ftp 1

# Connect and login to the FTP server.
set success [CkFtp2_Connect $ftp]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Change to the remote directory where the existing file is located.
set success [CkFtp2_ChangeRemoteDir $ftp "junk"]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

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

# Append moreHamlet.txt to hamlet.txt on the FTP server.
set localFilename "moreHamlet.txt"
set remoteFilename "hamlet.txt"

set success [CkFtp2_AppendFile $ftp $localFilename $remoteFilename]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

set success [CkFtp2_Disconnect $ftp]

# Display the entire session log:
puts [CkFtp2_sessionLog $ftp]

puts "File Appended!"

delete_CkFtp2 $ftp