PHP? Tencent Cloud Object Storage Service? ???? ??? ??? ??? ???? ??
??:
???? ??? ???? ?? ?? ? ?? ???????? ??? ????? ???, ? ? ?? ???? ?? ??? ??? ?????. ????, ????, ??? ??? ??? ???? ???? ?? ?? ????? ???? ???? ???? ???? ????. Tencent Cloud? Object Storage(COS)?? ???? ???? ???? ?????. ? ????? PHP ??? ???? Tencent Cloud Object Storage Service? ???? ??? ??? ??? ???? ??? ?????.
1. Tencent Cloud API ? ??
Tencent Cloud ?? ???? ???? ???? ?? ?? Tencent Cloud API ?? ??? ???. ?? ???? ???? ??? ??? ????.
- Tencent Cloud ?? ????(https://cloud.tencent.com/)? ??????.
- "Console"? ???? "Object Storage COS"? ???? COS ??? ?????.
- COS ??? ?? ?? ???? "??? ??" - "API ? ??"? ?????. ???? ?? ?? ??? ??? SecretId ? SecretKey? ?? ? ????.
2. ???? ?? ??
?? ??? ???? ?? ????? ???? ??? ???? ???. ??? ???? ??? ??? ????:
-
project
- index.php
-
cos-php-sdk-v5
- upload
???:
index.php? ??? ??? ?????? ???? ? ???? ?????. -
cos-php- sdk-v5? Tencent Cloud ?? ???? ???? ?? ???? ? ???? Tencent Cloud?? ????? ???? PHP SDK???. - upload ????? ???? ???? ???? ? ?????.
- upload.php? ???? ???? ???? ? ???? ?? ?????. ???.
-
3. PHP SDK ??
Tencent Cloud Object Storage ???? ????? PHP SDK? ?????? ???? ???. Tencent Cloud ?? GitHub ???(https://github.com/tencentyun/cos-php-sdk-v5)?? ?? ??? ????? ? ????.
????? ?? ???? ???? "src" ??? ???? ????? "cos-php-sdk-v5" ??? ?????. ???? ???? ??? ??? ????:
- project
index.php -
- cos-php-sdk-v5
- upload
4. ????? ?? ??
???? ????? ?? ??? ?????. index.php ???? HTML? CSS? ???? ??? ??? ??? ?????? ???? ? ????:
?? ???? ??? ?????. ??? ?? ??? "upload/upload.php" ???. ? ??? ??? ???? ???? ?? ?? ?????.
5. ?? ?? ??
upload.php ???? Tencent Cloud Object Storage ???? ???? ???? ????? ?? ??? ???? ???. ???? ??? ??? ????:
require_once '../cos-php-sdk-v5/src/Qcloud/Cos/CosClient.php';
use QcloudCosCosClient;
// Tencent Cloud API ?
$secretId = 'your-secret-id';
$secretKey = 'your-secret-key';
// COS ??? ??
$bucket = 'your-bucket-name'; -bucket-region';
// CosClient ?????
$cosClient = new CosClient([
'region' => $region,
'credentials' => [
'secretId' => $secretId,
'secretKey' => $secretKey
]
]);
// ???? ??? ???
if ($_FILES'fileToUpload' === UPLOAD_ERR_OK) {
$key = '/upload/' . $_FILES['fileToUpload']['name'];
$localPath = $_FILES['fileToUpload']['tmp_name'];
try {
$result = $cosClient->putObject([
'Bucket' => $bucket,
'Key' => $key,
'Body' => fopen($localPath, 'rb')
]);
echo '圖片上傳成功,訪問URL為:' . $result['ObjectURL'];
} catch (Exception $e) {
echo '圖片上傳失敗,錯誤信息:' . $e->getMessage();
}
} else {
echo '圖片上傳失敗,錯誤碼:' . $_FILES['fileToUpload']['error'];
}
?>
? ? ???? ?? ??? ??? ????.
$secretId: Tencent Cloud API ?? SecretId? ???
- $secretKey: ??? ??? ???; Tencent Cloud API ?? SecretKey
- $bucket: Tencent Cloud COS ???? ?? ???? ????.
- $region: Tencent Cloud COS ???? ??? ?? ???? ????.
- 6. ??? ??
?? ????? ? ??? ???? ?????? index.php ??? ????? ??? ???? ?? ?????? ?????. "?? ??" ??? ???? ??? ??? ??? ? "???" ??? ???? ???? Tencent Cloud Object Storage Service? ??????.
??:
? ??? ?? PHP ??? ???? Tencent Cloud Object Storage Service? ???? ??? ??? ??? ???? ? ??????. ???? ???? ???? ?? ??? ??????? ?? ??? ???? ???? ???? ?? ??? ??? ???? ??? ? ????. ??, Tencent Cloud Object Storage Service? ??? ??? ??? ?? ?? ??? ??? ? ????? ???? ?? ??? ?? ??? ? ????.
? ??? PHP? Tencent Cloud Object Storage Service? ???? ??? ??? ??? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!