阿里雲團隊努力不懈,力求將最新的技術內容更快地以您最熟悉的語言呈現。本文由簡體中文內容自動轉碼而成,過程無人工干預。阿里雲不保證此自動轉碼的準確性、完整性及時效性。因轉碼造成的任何內容錯誤及因此可能帶來的損失,阿里雲概不負責,敬請見諒。本文内容請以簡體中文版本為準。
全部產品
Search
文件中心

初始化

更新時間: Oct 19, 2018

OssClient是OSS的PHP用戶端,用於管理儲存空間和檔案等OSS資源。

新建OssClient

新建OSSClient時,需要指定Endpoint。有關Endpoint的更多資訊,請參見訪問網域名稱和資料中心和自訂訪問網域名稱

使用OSS網域名稱新建OssClient

以下代碼用於使用OSS網域名稱新建OssClient:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. try {
  16. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  17. } catch (OssException $e) {
  18. print $e->getMessage();
  19. }

使用自訂網域名新建OssClient

以下代碼用於使用自訂網域名新建OssClient:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. $endpoint = "<yourEndpoint>";
  14. try {
  15. // true為開啟CNAME。CNAME是指將自訂網域名綁定到儲存空間上。
  16. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, true);
  17. } catch (OssException $e) {
  18. print $e->getMessage();
  19. }

說明:使用自訂網域名時,無法使用listBuckets方法。

使用STS新建OssClient

以下代碼用於使用STS新建OssClient:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $securityToken = "<yourSecurityToken>";
  16. try {
  17. $ossClient = new OssClient(
  18. $accessKeyId, $accessKeySecret, $endpoint, false, $securityToken);
  19. } catch (OssException $e) {
  20. print $e->getMessage();
  21. }

更多資訊請參見RAM和STS介紹授權訪問

使用Proxy 伺服器新建OssClient

PHP 5.3以上版本支援使用Proxy 伺服器新建OssClient,代碼如下:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Proxy 伺服器地址,例如http://<您的使用者名>:<您的密碼>@<代理ip>:<代理通信埠>。
  14. $requestProxy = "<yourRequestProxy>";
  15. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  16. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com>";
  17. try {
  18. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false, $requestProxy);
  19. } catch (OssException $e) {
  20. print $e->getMessage();
  21. }

配置網路參數

以下代碼用於配置OssClient網路參數:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. try {
  16. $ossClient = new OssClient(
  17. $accessKeyId, $accessKeySecret, $endpoint);
  18. // 設定Socket層傳輸資料的逾時時間,單位秒,預設5184000秒。
  19. $ossClient->setTimeout(3600);
  20. // 設定建立連接的逾時時間,單位秒,預設10秒。
  21. $ossClient->setConnectTimeout(10);
  22. } catch (OssException $e) {
  23. print $e->getMessage();
  24. }