Как создать динамическое имя c с использованием Php AWS S3 API - PullRequest
1 голос
/ 07 февраля 2020

Тестировал последний Php AWS S3 API, и я не уверен, как динамически называть имя ключа при загрузке пользователем новой книги, потому что мне нужно иметь возможность получить загруженную книгу от клиента XYZ. Заранее спасибо!

 <?php
  require 'aws/aws-autoloader.php';

  use Aws\S3\S3Client;
  use Aws\S3\Exception\S3Exception;

  //AWS S3 SHITE BELOW 
  $bucket = 'acmebooks';
  //CREATE DYNAMIC KEYNAME??
  $keyname = 'RANDOM KEYNAME';
  $secret = 'FOOBAR1345';

  $credentials = new Aws\Credentials\Credentials($keyname, $secret);

  $s3 = new Aws\S3\S3Client([
  'version'     => 'latest',
  'region'      => 'us-east-2',
  'credentials' => $credentials
  ]);

  try {
  // Upload data.
   $result = $s3->putObject([
    'Bucket' => $bucket,
    'Key'    => $keyname,
    //Body'   => 'Hello, world!',
    'Body'   => 'https://booksrun.com/image-loader/350/https:__images-na.ssl-images-amazon.com_images_I_41sYJq3nAWL.jpg',
    'ACL'    => 'public-read'
]);

// Print the URL to the object.
echo $result['ObjectURL'] . PHP_EOL;
print_r($result['Body']);
} catch (S3Exception $e) {

    echo $e->getMessage() . PHP_EOL;

}
?>      

1 Ответ

0 голосов
/ 08 февраля 2020

пропускал и сбивал с толку $ keyname, который является моим уникальным AWS S3 "Ключом", для "Ключа" того, что является PUT в AWS S3 Bucket.

FIX НИЖЕ

<?php
 require 'aws/aws-autoloader.php';

 use Aws\S3\S3Client;
 use Aws\S3\Exception\S3Exception;

 //TEST FOR AWS S3
 $key_input = 'jaybookcover1';

 //AWS S3 SHITE BELOW 
 $bucket = 'acmebooks';
 //UNIQUE AWS S3 KEYNAME??
 $keyname = ' my unique AWS S3 key';
 $secret = 'FOOBAR1345';

 $credentials = new Aws\Credentials\Credentials($keyname, $secret);

 $s3 = new Aws\S3\S3Client([
 'version'     => 'latest',
 'region'      => 'us-east-2',
 'credentials' => $credentials
 ]);

 try {
 // Upload data.
 $result = $s3->putObject([
'Bucket' => $bucket,
'Key'    => $key_input,
//Body'   => 'Hello, world!',
'Body'   => 'https://booksrun.com/image-loader/350/https:__images-na.ssl-images-amazon.com_images_I_41sYJq3nAWL.jpg',
'ACL'    => 'public-read'
]);

// Print the URL to the object.
echo $result['ObjectURL'] . PHP_EOL;
print_r($result['Body']);
} catch (S3Exception $e) {

echo $e->getMessage() . PHP_EOL;

}
?>      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...