Sample code for 30+ languages & platforms
Ruby

Upload Directory Tree

See more FTP Examples

Upload an entire directory tree from the local filesystem to an FTP server.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

ftp = Chilkat::CkFtp2.new()

ftp.put_KeepSessionLog(true)

ftp.put_Hostname("ftp.example.com")
ftp.put_Username("login")
ftp.put_Password("password")

# Connect and login to the FTP server.
success = ftp.Connect()
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Set the current remote directory to the root where the
# directory tree will be uploaded.
success = ftp.ChangeRemoteDir("/something")
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Upload the entire directory tree rooted at c:/temp/something
success = ftp.PutTree("c:/temp/something")
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

success = ftp.Disconnect()

print ftp.sessionLog() + "\n";