Tham khảo mục Xem các thông tin S3 ACCESS CREDENTIALS để lấy thông tin Access Key ID và Secret Key ID.
Ví dụ này sử dụng thư viện aws-sdk-php phiên bản 3 và PHP phiên bản 8.1. Quý khách có thể sử dụng thông tin Access Key ID và Secret Key ID từ dịch vụ VNDATA Cloud Object Storage của quý khách để khởi tạo dịch vụ S3
client:
<?php
require 'vendor/autoload.php';
$bucket_name = "<bucket-name>"; // Ví dụ: $bucket_name = "vndata-example";
$access_key_id = "<access-key-id>";
$access_key_secret = "<secret-key-id>";
$credentials = new Aws\Credentials\Credentials($access_key_id, $access_key_secret);
$options = [
'region' => 'auto',
'endpoint' => "https://s3-hcm-r1.s3cloud.vn",
'version' => 'latest',
'credentials' => $credentials
];
$s3_client = new Aws\S3\S3Client($options);
$contents = $s3_client->listObjectsV2([
'Bucket' => $bucket_name
]);
var_dump($contents['Contents']);
Kết quả:
$ php s3.php
array(1) {
[0]=>
array(5) {
["Key"]=>
string(10) "vndata.png"
["LastModified"]=>
object(Aws\Api\DateTimeResult)#124 (3) {
["date"]=>
string(26) "2023-04-15 05:09:50.980000"
["timezone_type"]=>
int(2)
["timezone"]=>
string(1) "Z"
}
["ETag"]=>
string(34) ""18ea78b453c1afc6e36a21b5f952a28e""
["Size"]=>
int(4647)
["StorageClass"]=>
string(8) "STANDARD"
}
}
<?php
require 'vendor/autoload.php';
$bucket_name = "<bucket-name>"; // Ví dụ: $bucket_name = "vndata-example";
$access_key_id = "<access-key-id>";
$access_key_secret = "<secret-key-id>";
$filename = "<file-name-trên-S3>"; // Ví dụ: $filename = "vndata-2.jpg";
$pathToFile = "<vị-trí-file-cần-upload-ở-local>"; // Ví dụ: $pathToFile = "/home/vndata/vndata.jpg";
$credentials = new Aws\Credentials\Credentials($access_key_id, $access_key_secret);
$options = [
'region' => 'auto',
'endpoint' => "https://s3-hcm-r1.s3cloud.vn",
'version' => 'latest',
'credentials' => $credentials
];
$s3_client = new Aws\S3\S3Client($options);
$contents = $s3_client->putObject(array(
'Bucket' => $bucket_name,
'Key' => $filename,
'SourceFile' => $pathToFile,
));
var_dump($contents['ObjectURL']);
Kết quả:
$ php s3.php
string(56) "https://vndata-example.s3-hcm-r1.s3cloud.vn/vndata-2.jpg"
<?php
require 'vendor/autoload.php';
$bucket_name = "<bucket-name>"; // Ví dụ: $bucket_name = "vndata-example";
$access_key_id = "<access-key-id>";
$access_key_secret = "<secret-key-id>";
$filename = "<file-name-trên-S3>"; // Ví dụ: $filename = "vndata-2.jpg";
$pathToFile = "<vị-trí-file-cần-download-ở-local>"; // Ví dụ: $pathToFile = "/home/vndata/vndata.jpg";
$credentials = new Aws\Credentials\Credentials($access_key_id, $access_key_secret);
$options = [
'region' => 'auto',
'endpoint' => "https://s3-hcm-r1.s3cloud.vn",
'version' => 'latest',
'credentials' => $credentials
];
$s3_client = new Aws\S3\S3Client($options);
$contents = $s3_client->getObject(array(
'Bucket' => $bucket_name,
'Key' => $filename,
'SaveAs' => $pathToFile,
));
system("ls ".$pathToFile);
Kết quả:
$ php s3.php
/home/vndata/vndata.jpg