您好,欢迎访问一九零五行业门户网

php怎么使用oss web直传

本篇文章给大家介绍一下php使用oss web直传。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
前言直传优点: 无需经过服务器,由前端直传到 oss,因此可以减少服务器带宽使用 和 加快用户上传速度。
本篇讲的这个不需要安装扩展包,仅有直传功能,是非常轻量的。
我是参考https://github.com/iidestiny/flysystem-oss来写的,如果你需要在 php 使用其他的 oss 功能,那么扩展包更合适。
创建ossuploadsignature.php<?phpnamespace service;class ossuploadsignature{ private $accesskeyid; private $accesskeysecret; private $expire = 300; // 5分钟有效期 private $buckethost; // bucket 域名 private $conditions = [ // 限制 [ 'content-length-range', // 内容限制 0, // 最小上传 10 * 1024 * 1024 // 最大上传10m ], [ 0 => '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-d\th:i:s\z');    }}
运行
postman测试
小心bugbuckethost 可以在 oss 查看。
复制 policy 的时候 注意是否有换行符(我都没注意…)
推荐学习:《php视频教程》                                                       
以上就是php怎么使用oss web直传的详细内容。
其它类似信息

推荐信息