최신 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;
}
?>
AWS S3 버킷에 PUT 인 "키 이름"에 대해 내 고유 한 AWS S3 "키"인 $ keyname을 간과하고 혼동했습니다.
아래 수정
<?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;
}
?>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다