Sample code for 30+ languages & platforms
PHP ActiveX

Initiate Resumable Upload Session

See more Google Cloud Storage Examples

Initiate a Google Cloud Storage resumable upload session..

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$http = new COM("Chilkat.Http");

$jsonToken = new COM("Chilkat.JsonObject");
$success = $jsonToken->LoadFile('qa_data/tokens/googleCloudStorage.json');
if ($success == 0) {
    print $jsonToken->LastErrorText . "\n";
    exit;
}

$jsonMetaData = new COM("Chilkat.JsonObject");
$jsonMetaData->UpdateString('contentType','image/jpeg');

// Adds the "Authorization: Bearer <access_token>" header..
$http->AuthToken = $jsonToken->stringOf('access_token');

$http->SetUrlVar('bucket_name','chilkat-bucket-b');
$http->SetUrlVar('object_name','penguins2.jpg');
$url = 'https://storage.googleapis.com/upload/storage/v1/b/{$bucket_name}/o?uploadType=resumable&name={$object_name}';
$resp = new COM("Chilkat.HttpResponse");
$success = $http->HttpJson('POST',$url,$jsonMetaData,'application/json',$resp);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

$statusCode = $resp->StatusCode;
print 'response status code = ' . $statusCode . "\n";

$sessionUrl = '';

if ($statusCode != 200) {
    print $resp->BodyStr . "\n";
}
else {
    // The session URL will be used to upload the file in chunks, in subsequent HTTP POSTs...
    $sessionUrl = $resp->getHeaderField('Location');
    print 'Session URL = ' . $sessionUrl . "\n";
}


?>