栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php怎么使用oss web直传

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力
本篇文章给大家介绍一下php使用oss web直传。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

前言

直传优点: 无需经过服务器,由前端直传到 oss,因此可以减少服务器带宽使用 和 加快用户上传速度。

本篇讲的这个不需要安装扩展包,仅有直传功能,是非常轻量的。

我是参考https://github.com/iiDestiny/flysystem-oss来写的,如果你需要在 php 使用其他的 oss 功能,那么扩展包更合适。

创建OssUploadSignature.php
 'starts-with',
     1 => '$key', // 必须带key
     2 => 'images/', // 如:/images  只能放在/images的路径
 ]
    ];

    public function setBucketHost($bucketHost)
    {
 $this->bucketHost = $bucketHost;
 return $this;
    }

    public function setAccessKeyId($accessKeyId)
    {
 $this->accessKeyId = $accessKeyId;
 return $this;
    }

    public function setAccessKeySecret($accessKeySecret)
    {
 $this->accessKeySecret = $accessKeySecret;
 return $this;
    }

    public function signatureConfig()
    {
 $end = time() + $this->expire;
 $arr = [
     'expiration' => $this->gmt_iso8601($end),
     'conditions' => $this->conditions,
 ];
 $base64Policy = base64_encode(
     json_encode($arr)
 );
 $signature = base64_encode(hash_hmac('sha1', $base64Policy, $this->accessKeySecret, true));
 return [
     'OSSAccessKeyId' => $this->accessKeyId,
     'policy' => $base64Policy,
     'signature' => $signature,
     'expire' => $end,
     'bucketHost' => $this->bucketHost ];
    }


    // fix bug https://connect.console.aliyun.com/connect/detail/162632
    public function gmt_iso8601($time)
    {
 return (new DateTime(null, new DateTimeZone('UTC')))->setTimestamp($time)->format('Y-m-dTH:i:sZ');
    }}
运行


7b682f950e489edd72a4c7f47b1f256.png


847589f3fad7a256b7069a9980df313.png

Postman测试


7c06746477c9073a339b5402f07c75a.png


0417bc9869a076a8f6fb0a06c6a9ff3.png

小心bug

bucketHost 可以在 oss 查看。


ce6ac0e95ba08a6ca04d671f3364a95.png

复制 policy 的时候 注意是否有换行符(我都没注意…)

推荐学习:《PHP视频教程》

以上就是php怎么使用oss web直传的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/262444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号