oss.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. /**
  3. * User: admin
  4. * Date Time: 2021/3/18 20:15
  5. */
  6. namespace common\components;
  7. use OSS\Core\OssException;
  8. use OSS\OssClient;
  9. use Yii;
  10. class oss
  11. {
  12. //上传文件
  13. public static function uploadImage($object, $filePath)
  14. {
  15. $ossClient = self::getOssClient();
  16. $bucket = Yii::$app->params['ossBucket'];
  17. try {
  18. $ossClient->uploadFile($bucket, $object, $filePath);
  19. } catch (OssException $e) {
  20. util::fail($e->getMessage());
  21. }
  22. return true;
  23. }
  24. public static function getOssClient()
  25. {
  26. $accessKeyId = Yii::$app->params['accessKeyId'];
  27. $accessKeySecret = Yii::$app->params['accessKeySecret'];
  28. $endpoint = Yii::$app->params['endpoint'];
  29. try {
  30. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  31. return $ossClient;
  32. } catch (OssException $e) {
  33. util::fail($e->getMessage());
  34. }
  35. }
  36. //判断文件是否存在 shish 2021.4.18
  37. public static function fileExist($object)
  38. {
  39. $ossClient = self::getOssClient();
  40. $bucket = Yii::$app->params['ossBucket'];
  41. $ossClient->doesObjectExist($bucket, $object);
  42. try {
  43. $ossClient->doesObjectExist($bucket, $object);
  44. } catch (OssException $e) {
  45. util::fail($e->getMessage());
  46. }
  47. }
  48. // oss水印 guoruidian 2021.5.16
  49. // oss::watermark('fdafas.jpg', [
  50. // 'image_xxx,size_20,g_sw,x_100,y_50',
  51. // 'text_xxx,color_0000b7,size_20,g_sw,x_100,y_50',
  52. // ])
  53. public static function watermark($object, array $process)
  54. {
  55. return Yii::$app->params['hdImgHost']. $object . "?x-oss-process=image/watermark,". implode('/watermark,', $process);
  56. }
  57. //上传语音
  58. public static function uploadTmpAudio($object, $filePath,$bucket = '')
  59. {
  60. $ossClient = self::getOssClient();
  61. $bucket = Yii::$app->params['ossBucket'];
  62. try {
  63. $ossClient->putObject($bucket, $object, $filePath);
  64. } catch (OssException $e) {
  65. util::fail($e->getMessage());
  66. }
  67. return true;
  68. }
  69. }