阿里云sdk Github地址:
https://github.com/aliyun/aliyun-oss-php-sdk/blob/master/README-CN.md
自己安装:composer require aliyuncs/oss-sdk-php
其他框架自行百度安装,我是Yii2高级版。
步骤:
1、将Bucket的权限设置为私有读;在阿里云后台操作。
2、 根据期望的超时时间(签名URL失效的时间)生成签名。
下面直接上代码,key和secret自己换:
/**
* 阿里云防盗链地址
* @param $fileName 这个是你在阿里云后台上传文件后,他给你的文件名,例如xxx/a.mp4,或者直接在bucket下面,就直接写a.mp4
* @return string
*/
public static function getFdl($fileName)
{
$accessKeyId = "aaaaaaaaaa";
$accessKeySecret = "bbbbbbbbbbbbb";
// Endpoint以北京为例,其它Region请按实际情况填写。
$endpoint = "oss-cn-beijing.aliyuncs.com";
$bucket = "bucket";
try {
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
//这个是你在阿里云后台上传文件后,他给你的文件名,例如xxx/a.mp4,或者直接在bucket下面,就直接写a.mp4
$object = $fileName;#需要签名的Object
$timeout = 3600 * 3;#期望链接失效的时间,这里表示从代码运行到这一行开始的当前时间往后300秒
$signedUrl = $ossClient->signUrl($bucket, $object, $timeout);
return $signedUrl;
} catch (OssException $e) {
return $e->getMessage();
}
}