全部产品
阿里云办公

快速入门

更新时间:2018-07-17 16:00:20

本节介绍如何快速使用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. }

删除文件详情请参见管理文件

本文导读目录