S3::getObject PHP Method

getObject() public static method

Get an object
public static getObject ( string $bucket, string $uri, mixed $saveTo = false ) : mixed
$bucket string Bucket name
$uri string Object URI
$saveTo mixed Filename or resource to write to
return mixed
    public static function getObject($bucket, $uri, $saveTo = false)
    {
        $rest = new S3Request('GET', $bucket, $uri, self::$endpoint);
        if ($saveTo !== false) {
            if (is_resource($saveTo)) {
                $rest->fp =& $saveTo;
            } else {
                if (($rest->fp = @fopen($saveTo, 'wb')) !== false) {
                    $rest->file = realpath($saveTo);
                } else {
                    $rest->response->error = array('code' => 0, 'message' => 'Unable to open save file for writing: ' . $saveTo);
                }
            }
        }
        if ($rest->response->error === false) {
            $rest->getResponse();
        }
        if ($rest->response->error === false && $rest->response->code !== 200) {
            $rest->response->error = array('code' => $rest->response->code, 'message' => 'Unexpected HTTP status');
        }
        if ($rest->response->error !== false) {
            self::__triggerError(sprintf("S3::getObject({$bucket}, {$uri}): [%s] %s", $rest->response->error['code'], $rest->response->error['message']), __FILE__, __LINE__);
            return false;
        }
        return $rest->response;
    }

Usage Example

 /**
  * @inheritDoc BaseAssetSourceType::getLocalCopy()
  *
  * @param AssetFileModel $file
  *
  * @return mixed
  */
 public function getLocalCopy(AssetFileModel $file)
 {
     $location = AssetsHelper::getTempFilePath($file->getExtension());
     $this->_prepareForRequests();
     $this->_s3->getObject($this->getSettings()->bucket, $this->_getS3Path($file), $location);
     return $location;
 }
All Usage Examples Of S3::getObject