oss.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. //判断文件是否存在 shish 2021.4.18
  48. public static function fileExist($object)
  49. {
  50. $ossClient = self::getOssClient();
  51. $bucket = Yii::$app->params['ossBucket'];
  52. $ossClient->doesObjectExist($bucket, $object);
  53. try {
  54. $ossClient->doesObjectExist($bucket, $object);
  55. } catch (OssException $e) {
  56. util::fail($e->getMessage());
  57. }
  58. }
  59. // oss水印 guoruidian 2021.5.16
  60. // oss::watermark('fdafas.jpg', [
  61. // 'image_xxx,size_20,g_sw,x_100,y_50',
  62. // 'text_xxx,color_0000b7,size_20,g_sw,x_100,y_50',
  63. // ])
  64. public static function watermark($object, array $process)
  65. {
  66. return Yii::$app->params['hdImgHost']. $object . "?x-oss-process=image/watermark,". implode('/watermark,', $process);
  67. }
  68. //上传语音
  69. public static function uploadTmpAudio($object, $filePath,$bucket = '')
  70. {
  71. $ossClient = self::getOssClient();
  72. $bucket = Yii::$app->params['ossBucket'];
  73. try {
  74. $ossClient->putObject($bucket, $object, $filePath);
  75. } catch (OssException $e) {
  76. util::fail($e->getMessage());
  77. }
  78. return true;
  79. }
  80. }