Sample code for 30+ languages & platforms
PHP ActiveX

Asynchronous HTTPS Upload (TLS)

See more Upload Examples

Demonstrates how to do an HTTPS (TLS) upload asynchronously in a background thread.

A server-side C# example showing how to receive an upload is located at C# ASP.NET Code to Receive Upload

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

$upload = new COM("Chilkat.Upload");

// Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
// that will process the HTTP Upload.
$upload->Hostname = 'www.mywebserver.com';
$upload->Path = '/receiveUpload.aspx';

// Add one or more files to be uploaded.
$upload->AddFileReference('file1','dude.gif');
$upload->AddFileReference('file2','pigs.xml');
$upload->AddFileReference('file3','sample.doc');

// To upload using SSL/TLS (https), set the Ssl property = 1
$upload->Ssl = 1;

// Begin the HTTP upload in a background thread:
$success = $upload->BeginUpload();
if ($success != 1) {
    print $upload->LastErrorText . "\n";
}
else {
    print 'Upload started..' . "\n";
}

// Wait for the upload to finish.
// Print the progress as we wait...
while (($upload->UploadInProgress == 1)) {
    // We can abort the upload at any point by calling:
    // upload.AbortUpload();

    // Display the percentage complete and the number of bytes uploaded so far..
    // The total upload size will become set after the upload begins:
    print $upload->PercentUploaded . '% ' . $upload->NumBytesSent . '/' . $upload->TotalUploadSize . "\n";

    // Sleep 2/10ths of a second.
    $upload->SleepMs(200);

}

// Did the upload succeed?
if ($upload->UploadSuccess == 1) {
    print 'Files uploaded!' . "\n";
}
else {
    print $upload->LastErrorText . "\n";
}


?>