本文介绍如何使用PHP SDK将指定的文件(Object)下载到本地。
以下代码用于把指定的OSS文件下载到本地:
<?php if (is_file(__DIR__ . '/../autoload.php')) { require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) { require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。 $accessKeyId = "<yourAccessKeyId>"; $accessKeySecret = "<yourAccessKeySecret>"; // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $bucket= "<yourBucketName>"; // <yourObjectName>表示您从OSS下载文件时,需要指定文件所在存储空间的完整名称,即包含文件后缀在内的完整路径,例如abc/123.jpg。 $object = "<yourObjectName>"; // <yourLocalFile>本地指定的文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。 $localfile = "<yourLocalFile>"; $options = array( OssClient::OSS_FILE_DOWNLOAD => $localfile ); // 使用try catch捕获异常,如果捕获到异常,则说明下载失败;如果没有捕获到异常,则说明下载成功。 try{ $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); $ossClient->getObject($bucket, $object, $options); } catch(OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print(__FUNCTION__ . ": OK, please check localfile: 'upload-test-object-name.txt'" . "\n");