Sample code for 30+ languages & platforms
PHP Extension

FTP Upload / Download to StringBuilder

Demonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder object.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

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

$ftp = new CkFtp2();

$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 != true) {
    print $ftp->lastErrorText() . "\n";
    exit;
}

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

$sbA = new CkStringBuilder();
$sbA->LoadFile('qa_data/hamlet.xml','utf-8');

// Upload the contents of sbA to the FTP server.
$bIncludeBOM = false;
$remoteFilename = 'hamletFromSb.xml';
$success = $ftp->PutFileSb($sbA,'utf-8',$bIncludeBOM,$remoteFilename);
if ($success != true) {
    print $ftp->lastErrorText() . "\n";
    exit;
}

// Download...
$sbB = new CkStringBuilder();
$success = $ftp->GetFileSb($remoteFilename,'utf-8',$sbB);
if ($success != true) {
    print $ftp->lastErrorText() . "\n";
    exit;
}

// Verify that sbA and sbB have the exact same contents.
print 'size of sbA: ' . $sbA->get_Length() . "\n";
$bCaseSensitive = true;
if ($sbA->ContentsEqualSb($sbB,$bCaseSensitive) == true) {
    print 'Contents are equal. Success.' . "\n";
}
else {
    print 'Contents are NOT equal.  Failed.' . "\n";
}

$ftp->Disconnect();

?>