Sample code for 30+ languages & platforms
PHP

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 Downloads

Chilkat2 PHP
<?php

use Chilkat2\Upload;

$upload = new 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 = true
$upload->Ssl = true;

// Begin the HTTP upload in a background thread:
try {
    $upload->BeginUpload();
    echo "Upload started..\n";
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
}

// Wait for the upload to finish.
// Print the progress as we wait...
while ($upload->UploadInProgress) {
    // 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:
    echo $upload->PercentUploaded, '% ', $upload->NumBytesSent, '/', $upload->TotalUploadSize, "\n";

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

// Did the upload succeed?
if ($upload->UploadSuccess) {
    echo "Files uploaded!\n";
} else {
    echo $upload->LastErrorText, "\n";
}