NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class S3Command

Adds functionality to Amazon S3 commands:

- Adds the PutObject URL to a response
- Allows creating a Pre-signed URL from any command

  Guzzle\Common\Collection implements ArrayAccess, IteratorAggregate, Countable, Guzzle\Common\ToArrayInterface
  Guzzle\Service\Command\AbstractCommand implements Guzzle\Service\Command\CommandInterface
  Guzzle\Service\Command\OperationCommand
  Aws\S3\Command\S3Command

Namespace: Aws\S3\Command
Located at Aws/S3/Command/S3Command.php

## Methods summary

- `public` `createPresignedUrl ( int|string $expires )`

  Create a pre-signed URL for the operation

- `protected` `process ( )`

  Create the result of the command after the request has been completed. Override this method in subclasses to customize this behavior

## Methods detail

# `public string`
`createPresignedUrl( integer|string $expires )`

Create a pre-signed URL for the operation

#### Examples

- Create a presigned URL with a command object

      // Get a command object from the client and pass in any options
      // available in the GetObject command (e.g. ResponseContentDisposition)
      $command = $client->getCommand('GetObject', array(
          'Bucket' => $bucket,
          'Key' => 'data.txt',
          'ResponseContentDisposition' => 'attachment; filename="data.txt"'
      ));

      // Create a signed URL from the command object that will last for
      // 10 minutes from the current time
      $signedUrl = $command->createPresignedUrl('+10 minutes');

      echo file_get_contents($signedUrl);
      // > Hello!

#### Parameters

$expires
  `integer|string`
  $expires The Unix timestamp to expire at or a string that can be evaluated by strtotime

#### Returns

`string`
# `protected`
`process( )`

Create the result of the command after the request has been completed. Override this method in subclasses to customize this behavior

#### Overrides

`Guzzle\Service\Command\OperationCommand::process`

### Methods inherited from Guzzle\Service\Command\OperationCommand

`build()`, `getRequestSerializer()`, `getResponseParser()`, `setRequestSerializer()`, `setResponseParser()`

### Methods inherited from Guzzle\Service\Command\AbstractCommand

`__clone()`, `__construct()`, `__invoke()`, `createOperation()`, `execute()`, `getClient()`, `getName()`, `getOperation()`, `getRequest()`, `getRequestHeaders()`, `getResponse()`, `getResult()`, `getValidationErrors()`, `getValidator()`, `init()`, `isExecuted()`, `isPrepared()`, `prepare()`, `setClient()`, `setOnComplete()`, `setResult()`, `setValidator()`, `validate()`

### Methods inherited from Guzzle\Common\Collection

`add()`, `clear()`, `count()`, `filter()`, `fromConfig()`, `get()`, `getAll()`, `getIterator()`, `getKeys()`, `getPath()`, `hasKey()`, `hasValue()`, `keySearch()`, `map()`, `merge()`, `offsetExists()`, `offsetGet()`, `offsetSet()`, `offsetUnset()`, `overwriteWith()`, `remove()`, `replace()`, `set()`, `setPath()`, `toArray()`

### Magic methods summary

## Constants summary

### Constants inherited from Guzzle\Service\Command\AbstractCommand

`DISABLE_VALIDATION`, `HEADERS_OPTION`, `HIDDEN_PARAMS`, `ON_COMPLETE`, `REQUEST_OPTIONS`, `RESPONSE_BODY`, `RESPONSE_PROCESSING`, `TYPE_MODEL`, `TYPE_NO_TRANSLATION`, `TYPE_RAW`

## Properties summary

### Properties inherited from Guzzle\Service\Command\OperationCommand

`$requestSerializer`, `$responseParser`

### Properties inherited from Guzzle\Service\Command\AbstractCommand

`$client`, `$onComplete`, `$operation`, `$request`, `$result`, `$validator`

### Properties inherited from Guzzle\Common\Collection

`$data`