Path: blob/master/code_examples/php_examples/S3examples/s3-copying-objects.php
4084 views
<?php1// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.2// SPDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-s3-developer-guide/blob/master/LICENSE-SAMPLECODE )34require 'vendor/autoload.php';56use Aws\S3\S3Client;78$sourceBucket = '*** Your Source Bucket Name ***';9$sourceKeyname = '*** Your Source Object Key ***';10$targetBucket = '*** Your Target Bucket Name ***';1112$s3 = new S3Client([13'version' => 'latest',14'region' => 'us-east-1'15]);1617// Copy an object.18$s3->copyObject([19'Bucket' => $targetBucket,20'Key' => "{$sourceKeyname}-copy",21'CopySource' => "{$sourceBucket}/{$sourceKeyname}",22]);2324// Perform a batch of CopyObject operations.25$batch = array();26for ($i = 1; $i <= 3; $i++) {27$batch[] = $s3->getCommand('CopyObject', [28'Bucket' => $targetBucket,29'Key' => "{targetKeyname}-{$i}",30'CopySource' => "{$sourceBucket}/{$sourceKeyname}",31]);32}33try {34$succeeded = $s3->execute($batch);35$failed = array();36} catch (CommandTransferException $e) {37$succeeded = $e->getSuccessfulCommands();38echo "Failed Commands:" . PHP_EOL;39foreach ($e->getFailedCommands() as $failedCommand) {40echo $e->getExceptionForFailedCommand($FailedCommand)->getMessage() . PHP_EOL;41}42}434445