Sample code for 30+ languages & platforms
Perl

FTP Upload / Download to a BinData Object

Demonstrates how to FTP upload the contents of a BinData object, and FTP downloads to the a BinData object.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

$ftp = chilkat::CkFtp2->new();

$ftp->put_Hostname("www.my-ftp-server.com");
$ftp->put_Username("mFtpLogin");
$ftp->put_Password("myFtpPassword");

# Connect to the FTP server.
$success = $ftp->ConnectOnly();
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

# Authenticate with the FTP server.
$success = $ftp->LoginAfterConnectOnly();
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

$bdA = chilkat::CkBinData->new();
$bdA->LoadFile("qa_data/jpg/penguins.jpg");

# Upload the contents of bdA to the FTP server.
$remoteFilename = "penguins.jpg";
$success = $ftp->PutFileBd($bdA,$remoteFilename);
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

# Download...
$bdB = chilkat::CkBinData->new();
$success = $ftp->GetFileBd($remoteFilename,$bdB);
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

# Verify that bdA and bdB have the exact same contents.
print "size of bdA: " . $bdA->get_NumBytes() . "\r\n";
if ($bdA->ContentsEqual($bdB) == 1) {
    print "Contents are equal. Success." . "\r\n";
}
else {
    print "Contents are NOT equal.  Failed." . "\r\n";
}

$ftp->Disconnect();