Sample code for 30+ languages & platforms
Tcl

Append Text to a Remote FTP File (StringBuilder)

See more FTP Examples

Demonstrates the Chilkat Ftp2.AppendFileSb method, which encodes the text in a StringBuilder and appends the bytes to a remote file. The arguments are the remote filename, the StringBuilder, and the charset.

Background: When you have accumulated several lines or records in a StringBuilder, this appends them to a remote file in one call, encoding as it writes. It pairs naturally with building up text in memory and flushing it to a remote log periodically.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

#  Demonstrates the Ftp2.AppendFileSb method, which encodes the text in a StringBuilder and
#  appends the bytes to a remote file.  The 1st argument is the remote filename, the 2nd is the
#  StringBuilder, and the 3rd is the charset.

set ftp [new_CkFtp2]

CkFtp2_put_Hostname $ftp "ftp.example.com"
CkFtp2_put_Username $ftp "myFtpLogin"

#  Normally you would not hard-code the password in source.  You should instead obtain it
#  from an interactive prompt, environment variable, or a secrets vault.
CkFtp2_put_Password $ftp "myPassword"

set success [CkFtp2_Connect $ftp]
if {$success == 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

set sb [new_CkStringBuilder]

CkStringBuilder_Append $sb "appended line one\n"
CkStringBuilder_Append $sb "appended line two\n"

set success [CkFtp2_AppendFileSb $ftp "logs/app.log" $sb "utf-8"]
if {$success == 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    delete_CkStringBuilder $sb
    exit
}

puts "Appended text."

set success [CkFtp2_Disconnect $ftp]
if {$success == 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    delete_CkStringBuilder $sb
    exit
}


delete_CkFtp2 $ftp
delete_CkStringBuilder $sb