PHP ActiveX
PHP ActiveX
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 ActiveX Downloads
<?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');
// Set the BandwidthThrottleUp property to throttle to approx 64K/second
$upload->BandwidthThrottleUp = 65536;
// 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";
}
?>