Sample code for 30+ languages & platforms
Tcl

FTP Set Remote File Date/Time Equal to Local File's Last-Modified Date/Time

See more FTP Examples

Demonstrates how to set a remote file's date/time to be equal to a local file's date/time.

Important: Not all FTP servers support the ability to set a file's date/time.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes Chilkat Ftp2 to have been previously unlocked.
# See Unlock Ftp2 for sample code.

set ftp [new_CkFtp2]

CkFtp2_put_Hostname $ftp "www.authtls-ftps-server.com"
CkFtp2_put_Username $ftp "FTP_LOGIN"
CkFtp2_put_Password $ftp "FTP_PASSWORD"
CkFtp2_put_AuthTls $ftp 1
CkFtp2_put_Port $ftp 21

# Connect to the FTP server using explicit TLS (AUTH TLS).
set success [CkFtp2_ConnectOnly $ftp]
if {$success == 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Authenticate.
set success [CkFtp2_LoginAfterConnectOnly $ftp]
if {$success == 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# We're going to get the last-mod date/time for the local file
# "qa_data/hamlet.xml", and then set the remote "hamlet.xml" to this date/time.
set fac [new_CkFileAccess]

set dt [new_CkDateTime]

set lastModTimestamp [CkFileAccess_getFileTimeStr $fac "qa_data/hamlet.xml" 0]
CkDateTime_SetFromTimestamp $dt $lastModTimestamp

set success [CkFtp2_SetRemoteFileDt $ftp $dt "hamlet.xml"]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkDateTime $dt

    delete_CkFtp2 $ftp
    delete_CkFileAccess $fac
    delete_CkDateTime $dt
    exit
}

CkFtp2_Disconnect $ftp

puts "Success."

delete_CkFtp2 $ftp
delete_CkFileAccess $fac
delete_CkDateTime $dt