开发者社区> 问答> 正文

php sdk 范围下载

已解决

展开
收起
游客dabtdmc4wdph2 2018-01-12 15:07:22 632 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    如果仅需要文件中的部分数据,您可以使用范围下载,下载指定范围内的数据,以下代码用于下载文件[0, 4]的内容到本地内存:

    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. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    10. $accessKeyId = "<yourAccessKeyId>";
    11. $accessKeySecret = "<yourAccessKeySecret>";
    12. // Endpoint以杭州为例,其它Region请按实际情况填写。
    13. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    14. $bucket= "<yourBucketName>";
    15. $object = "<yourObjectName>";
    16. // 获取0~4字节(包括0和4),共5个字节的数据。如果指定的范围无效(比如开始或结束位置的指定值为负数,或指定值大于文件大小),则下载整个文件。
    17. $options = array(OssClient::OSS_RANGE => '0-4');
    18. try{
    19. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
    20. $content = $ossClient->getObject($bucket, $object, $options);
    21. } catch(OssException $e) {
    22. printf(__FUNCTION__ . ": FAILED\n");
    23. printf($e->getMessage() . "\n");
    24. return;
    25. }
    26. print ($content);
    27. print(__FUNCTION__ . ": OK" . "\n");
    2018-01-14 10:32:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-静态扫描为你的项目上线保驾护航-周梦康 立即下载
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
一个跨平台的云服务SDK需要什么 立即下载