在项目根目录下运行以下命令安装阿里云OSS PHP SDK:
composer require aliyuncs/oss-sdk-php
在ThinkPHP5.0项目中,可以在配置文件中添加阿里云OSS的配置信息,例如在config.php
文件中添加以下内容:
return [ // 其他配置... 'oss' => [ 'accessKeyId' => '你的AccessKeyId', 'accessKeySecret' => '你的AccessKeySecret', 'bucket' => '你的Bucket名称', 'endpoint' => 'Bucket所在地域对应的Endpoint,例如oss-cn-hangzhou.aliyuncs.com', ], ];
在控制器中,使用以下代码生成文件的URL签名地址:
use think\Controller; use OSS\OssClient; use OSS\Core\OssException; class OssController extends Controller { public function getSignatureUrl() { try { // 获取配置信息 $config = config('oss'); $accessKeyId = $config['accessKeyId']; $accessKeySecret = $config['accessKeySecret']; $bucket = $config['bucket']; $endpoint = 'https://'.$config['endpoint']; // 确保Endpoint是HTTPS // 创建OssClient实例 $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); // 设置文件名和过期时间 $object = 'default.zip'; // 文件名 $timeout = 3600; // 过期时间为1小时 // 生成预签名URL,并指定使用HTTPS $signedUrl = $ossClient->signUrl($bucket, $object, $timeout, ['Scheme' => 'https']); // 返回签名URL return json(['url' => $signedUrl]); } catch (OssException $e) { // 处理异常 return json(['error' => $e->getMessage()], 500); } } }