Sample code for 30+ languages & platforms
Tcl

Download Text File into String Variable

See more FTP Examples

Download a text file directly into a string variable.

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.someFtpServer.com"
CkFtp2_put_Username $ftp "myFtpUserAccount"
CkFtp2_put_Password $ftp "myFtpPassword"

# Set other possible settings...
# See http://www.cknotes.com/determining-ftp2-connection-settings/ 
# for more information about FTP connection settings.
CkFtp2_put_Passive $ftp 1
CkFtp2_put_AuthTls $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
}

# Download the contents of the remote file into a string variable.

# The GetRemoteFileTextData method assumes the remote file contains ANSI chars.
# To download text files containing non-ANSI text, such as utf-8, call GetRemoteFileTextC
# instead. (see below)
set fileContents [CkFtp2_getRemoteFileTextData $ftp "ansiText.txt"]
if {[CkFtp2_get_LastMethodSuccess $ftp] != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
} else {
    puts "$fileContents"
}

# To download a remote text file containing utf-8 chars, 
# call GetRemoteFileTextC and pass "utf-8" for the 2nd arg.  This tells
# Chilkat to interpret the incoming bytes according to the utf-8 character encoding.

set fileContents [CkFtp2_getRemoteFileTextC $ftp "utf8Text.txt" "utf-8"]
if {[CkFtp2_get_LastMethodSuccess $ftp] != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
} else {
    puts "$fileContents"
}

set success [CkFtp2_Disconnect $ftp]

delete_CkFtp2 $ftp