SIGN IN SIGN UP

Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below.

0 0 1 Java
2019-02-07 19:23:14 -08:00
<?php
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
2019-02-07 19:23:14 -08:00
/*
* For more information about creating a WorkDocs application see the WorkDocs Developer Guide at
* https://docs.aws.amazon.com/workdocs/latest/developerguide/wd-auth-user.html
*
*
*/
// snippet-start:[workdocs.php.upload_document.complete]
// snippet-start:[workdocs.php.upload_document.import]
2019-02-07 19:23:14 -08:00
require 'vendor/autoload.php';
2019-02-07 19:23:14 -08:00
use Aws\Exception\AwsException;
use GuzzleHttp\Client as httpClient;
use GuzzleHttp\Exception\ClientException;
2019-02-07 19:23:14 -08:00
// snippet-end:[workdocs.php.upload_document.import]
2019-02-07 19:23:14 -08:00
/**
* Upload a Document to Amazon WorkDocs.
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
2019-02-07 19:23:14 -08:00
//Create a workdocs Client
// snippet-start:[workdocs.php.upload_document.main]
$client = new Aws\WorkDocs\WorkDocsClient([
'profile' => 'default',
'version' => '2016-05-01',
'region' => 'us-east-2'
]);
2019-02-07 19:23:14 -08:00
$folder = 'folderid';
$pathtoFile = '';
$file = 'filename.txt';
$authTokenFilePath = 'token.txt';
2019-02-07 19:23:14 -08:00
try {
$fileToUpload = $pathtoFile . $file;
$file = fopen($authTokenFilePath, 'r');
2019-02-16 02:57:48 -08:00
$authToken = fread($file, filesize($file));
fclose($file);
2019-03-10 22:29:05 -07:00
print("Create Document\n");
2019-02-07 19:23:14 -08:00
$result = $client->initiateDocumentVersionUpload([
2019-02-16 02:57:48 -08:00
'AuthenticationToken' => $authToken,
2019-02-07 19:23:14 -08:00
'ParentFolderId' => $folder,
'Name' => $file,
]);
var_dump($result);
$documentID = $result['Metadata']['Id'];
$documentVersionID = $result['Metadata']['LatestVersionMetadata']['Id'];
$uploadurl = $result['UploadMetadata']['UploadUrl'];
} catch (AwsException $e) {
// output error message if fails
echo $e->getMessage() . "\n";
2019-02-07 19:23:14 -08:00
}
try {
2019-03-10 22:29:05 -07:00
print("Upload Document\n");
2019-02-07 19:23:14 -08:00
$body = fopen($fileToUpload, 'r');
2019-02-07 19:23:14 -08:00
$guzzle = new httpClient();
$upload = $guzzle->put($uploadurl, [
'body' => $body
]);
2019-02-07 19:23:14 -08:00
var_dump($upload);
} catch (ClientException $e) {
// output error message if fails
echo $e->getMessage() . "\n";
2019-02-07 19:23:14 -08:00
}
try {
2019-03-10 22:29:05 -07:00
print("Update Document Version\n");
2019-02-07 19:23:14 -08:00
$updateResult = $client->updateDocumentVersion([
2019-02-16 02:57:48 -08:00
'AuthenticationToken' => $authToken,
2019-02-07 19:23:14 -08:00
'DocumentId' => $documentID,
'VersionId' => $documentVersionID,
'VersionStatus' => 'ACTIVE',
]);
2019-02-07 19:23:14 -08:00
var_dump($updateResult);
} catch (AwsException $e) {
// output error message if fails
echo $e->getMessage() . "\n";
2019-02-07 19:23:14 -08:00
}
2019-02-07 19:23:14 -08:00
// snippet-end:[workdocs.php.upload_document.main]
// snippet-end:[workdocs.php.upload_document.complete]
// snippet-sourceauthor:[jschwarzwalder (AWS)]