Perl
Perl
FTP Upload / Download to StringBuilder
Demonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder object.Chilkat Perl Downloads
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;
}
$sbA = chilkat::CkStringBuilder->new();
$sbA->LoadFile("qa_data/hamlet.xml","utf-8");
# Upload the contents of sbA to the FTP server.
$bIncludeBOM = 0;
$remoteFilename = "hamletFromSb.xml";
$success = $ftp->PutFileSb($sbA,"utf-8",$bIncludeBOM,$remoteFilename);
if ($success != 1) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
# Download...
$sbB = chilkat::CkStringBuilder->new();
$success = $ftp->GetFileSb($remoteFilename,"utf-8",$sbB);
if ($success != 1) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
# Verify that sbA and sbB have the exact same contents.
print "size of sbA: " . $sbA->get_Length() . "\r\n";
$bCaseSensitive = 1;
if ($sbA->ContentsEqualSb($sbB,$bCaseSensitive) == 1) {
print "Contents are equal. Success." . "\r\n";
}
else {
print "Contents are NOT equal. Failed." . "\r\n";
}
$ftp->Disconnect();