去评论
dz插件网

[拿来主义]PHP上传文件到oss

婷姐
2023/04/21 21:19:59
PHP上传文件到oss:
  1. /*
  2. * 上传本地文件到oss
  3. * @param string $upload_dir
  4. */
  5. function upload_file_to_oss($upload_dir, $filename)
  6. {
  7.     config(rkcache('config', true));//取缓存配置
  8.     $upload_type = config('upload_type');
  9.     if($upload_type != 'alioss')
  10.     {
  11.         return ret_arr(400, '平台没有开放阿里云上传配置');
  12.     }
  13.     $accessId         = config('alioss_accessid');
  14.     $accessSecret     = config('alioss_accesssecret');
  15.     $bucket           = config('alioss_bucket');
  16.     $endpoint         = config('alioss_endpoint');
  17.     $aliendpoint_type = config('aliendpoint_type') == '1' ? true : false;
  18.     $tmparr = pathinfo($filename);
  19.     $filename_short   = $tmparr['basename'];
  20.     $object           = $upload_dir . '/' .  $filename_short;
  21.     require_once VENDOR_PATH . 'aliyuncs/oss-sdk-php/autoload.php';
  22.     $OssClient = new \OSS\OssClient($accessId, $accessSecret, $endpoint, $aliendpoint_type);
  23.     try {
  24.         $fileinfo = $OssClient->uploadFile($bucket, $object, $filename);
  25.         return ret_arr(200, '', $fileinfo['info']['url']);
  26.     } catch (\OSS\Core\OssException $e) {
  27.         return ret_arr(400, $e->getErrorMessage());
  28.     }
  29. }
注:返回的为http协议的文件地址,非https。