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

快速入門

更新時間: Oct 19, 2018

本節介紹如何快速使用OSS PHP SDK完成常見操作,如建立儲存空間、上傳檔案、下載檔案等。

建立儲存空間

以下代碼用於建立儲存空間:

  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. // 儲存空間名稱
  16. $bucket = "<yourBucketName>";
  17. try {
  18. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  19. $ossClient->createBucket($bucket);
  20. } catch (OssException $e) {
  21. print $e->getMessage();
  22. }

儲存空間的命名規範,請參見基本概念中的命名規範。建立儲存空間的資訊,請參見管理儲存空間

上傳檔案

以下代碼用於上傳檔案:

  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. // 儲存空間名稱
  16. $bucket= " <yourBucketName>";
  17. // 檔案名稱
  18. $object = " <yourObjectName>";
  19. $content = "Hi, OSS.";
  20. try {
  21. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  22. $ossClient->putObject($bucket, $object, $content);
  23. } catch (OssException $e) {
  24. print $e->getMessage();
  25. }

上傳檔案詳情請參見上傳檔案

下載檔案

以下代碼用於下載檔案:

  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. // 儲存空間名稱
  16. $bucket= "<yourBucketName>";
  17. // 檔案名稱
  18. $object = "<yourObjectName>";
  19. try {
  20. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  21. $content = $ossClient->getObject($bucket, $object);
  22. print("object content: " . $content);
  23. } catch (OssException $e) {
  24. print $e->getMessage();
  25. }

下載檔案詳情請參見下載檔案

列舉檔案

以下代碼用於列舉指定儲存空間下的檔案。預設列舉100個檔案。

  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. // 儲存空間名稱
  16. $bucket= "<yourBucketName>";
  17. try {
  18. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  19. $listObjectInfo = $ossClient->listObjects($bucket);
  20. $objectList = $listObjectInfo->getObjectList();
  21. if (!empty($objectList)) {
  22. foreach ($objectList as $objectInfo) {
  23. print($objectInfo->getKey() . "\t" . $objectInfo->getSize() . "\t" . $objectInfo->getLastModified() . "\n");
  24. }
  25. }
  26. } catch (OssException $e) {
  27. print $e->getMessage();
  28. }

列舉功能詳情請參見管理檔案中的列出儲存空間中的檔案。

刪除檔案

以下代碼用於刪除指定檔案:

  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. // 儲存空間名稱
  16. $bucket= "<yourBucketName>";
  17. // 檔案名稱
  18. $object = "<yourObjectName>";
  19. try {
  20. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  21. $ossClient->deleteObject($bucket, $object);
  22. } catch (OssException $e) {
  23. print $e->getMessage();
  24. }

刪除檔案詳情請參見管理檔案