oss.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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 uploadContent($object,$content)
  25. {
  26. $ossClient = self::getOssClient();
  27. $bucket = Yii::$app->params['ossBucket'];
  28. try {
  29. $ossClient->putObject($bucket, $object, $content);
  30. } catch (OssException $e) {
  31. util::fail($e->getMessage());
  32. }
  33. return true;
  34. }
  35. public static function getOssClient()
  36. {
  37. $accessKeyId = Yii::$app->params['accessKeyId'];
  38. $accessKeySecret = Yii::$app->params['accessKeySecret'];
  39. $endpoint = Yii::$app->params['endpoint'];
  40. try {
  41. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  42. return $ossClient;
  43. } catch (OssException $e) {
  44. util::fail($e->getMessage());
  45. }
  46. }
  47. //判断文件是否存在 ssh 2021.4.18
  48. public static function getFile($object)
  49. {
  50. $ossClient = self::getOssClient();
  51. $bucket = Yii::$app->params['ossBucket'];
  52. try {
  53. return $ossClient->getObject($bucket, $object);
  54. } catch (OssException $e) {
  55. util::fail($e->getMessage());
  56. }
  57. }
  58. //判断文件是否存在 ssh 2021.4.18
  59. public static function fileExist($object)
  60. {
  61. $ossClient = self::getOssClient();
  62. $bucket = Yii::$app->params['ossBucket'];
  63. $ossClient->doesObjectExist($bucket, $object);
  64. try {
  65. $ossClient->doesObjectExist($bucket, $object);
  66. } catch (OssException $e) {
  67. util::fail($e->getMessage());
  68. }
  69. }
  70. // oss水印 guoruidian 2021.5.16
  71. // oss::watermark('fdafas.jpg', [
  72. // 'image_xxx,size_20,g_sw,x_100,y_50',
  73. // 'text_xxx,color_0000b7,size_20,g_sw,x_100,y_50',
  74. // ])
  75. public static function watermark($object, array $process)
  76. {
  77. return Yii::$app->params['hdImgHost']. $object . "?x-oss-process=image/watermark,". implode('/watermark,', $process);
  78. }
  79. //上传语音
  80. public static function uploadTmpAudio($object, $filePath,$bucket = '')
  81. {
  82. $ossClient = self::getOssClient();
  83. $bucket = Yii::$app->params['ossBucket'];
  84. try {
  85. $ossClient->putObject($bucket, $object, $filePath);
  86. } catch (OssException $e) {
  87. util::fail($e->getMessage());
  88. }
  89. return true;
  90. }
  91. }