Register a callback function to execute whenever a data stream is read from using
CFRequest::streaming_read_callback().
The user-defined callback function should accept three arguments:
$curl_handle-resource- Required - The cURL handle resource that represents the in-progress transfer.$file_handle-resource- Required - The file handle resource that represents the file on the local file system.$length-integer- Required - The length in kilobytes of the data chunk that was transferred.
Access
public
Parameters
Parameter |
Type |
Required |
Description |
|---|---|---|---|
|
|
Required |
The callback function is called by
|
Returns
Type |
Description |
|---|---|
|
A reference to the current instance. |
Examples
Register a callback function to execute when data is read from an open stream.
$s3 = new AmazonS3();
// Define callback function
function callback($curl_handle, $file_handle, $length)
{
$total = curl_getinfo($curl_handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
$transferred = curl_getinfo($curl_handle, CURLINFO_SIZE_DOWNLOAD);
$percentage = floor(($transferred / $total) * 100);
echo 'Transferred ' . $transferred . ' KB out of ' . $total . ' KB (' . $percentage . '%)' . PHP_EOL;
}
// Register a callback function to execute when a stream is read locally.
$s3->register_streaming_read_callback('callback');
// Download a public object.
$response = $s3->create_object('my-bucket', 'my-large-file.mp4', array(
'fileUpload' => './uploads/my-large-file.mp4'
));
Result:
Transferred 7200 bytes out of 9000000 (0%) ... Transferred 9000000 bytes out of 9000000 (100%)
Source
Method defined in sdk.class.php | Toggle source view (5 lines) | View on GitHub

