PHP
Chilkat2 PHP
Bandwidth Throttled Asynchronous HTTP Upload
See more Upload Examples
Demonstrates how to do an HTTP upload asynchronously in a background thread with limiting the rate to an approximate number of bytes/second. The only difference between this example and one without bandwidth throttling is that the BandwidthThrottleUp property is set.Chilkat PHP Downloads
<?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');
// Set the BandwidthThrottleUp property to throttle to approx 64K/second
$upload->BandwidthThrottleUp = 65536;
// 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";
}