Sample code for 30+ languages & platforms
PHP ActiveX

FTP Upload / Download to StringBuilder

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

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

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

$ftp = new COM("Chilkat.Ftp2");

$ftp->Hostname = 'www.my-ftp-server.com';
$ftp->Username = 'mFtpLogin';
$ftp->Password = 'myFtpPassword';

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

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

$sbA = new COM("Chilkat.StringBuilder");
$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 . "\n";
    exit;
}

// Download...
$sbB = new COM("Chilkat.StringBuilder");
$success = $ftp->GetFileSb($remoteFilename,'utf-8',$sbB);
if ($success != 1) {
    print $ftp->LastErrorText . "\n";
    exit;
}

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

$ftp->Disconnect();

?>