Sample code for 30+ languages & platforms
PHP Extension

Initiate Resumable Upload Session

See more Google Cloud Storage Examples

Initiate a Google Cloud Storage resumable upload session..

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

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

$http = new CkHttp();

$jsonToken = new CkJsonObject();
$success = $jsonToken->LoadFile('qa_data/tokens/googleCloudStorage.json');
if ($success == false) {
    print $jsonToken->lastErrorText() . "\n";
    exit;
}

$jsonMetaData = new CkJsonObject();
$jsonMetaData->UpdateString('contentType','image/jpeg');

// Adds the "Authorization: Bearer <access_token>" header..
$http->put_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 CkHttpResponse();
$success = $http->HttpJson('POST',$url,$jsonMetaData,'application/json',$resp);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    exit;
}

$statusCode = $resp->get_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";
}


?>