UploadController.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace business\controllers;
  3. use Yii;
  4. use yii\web\Controller;
  5. use common\components\stringUtil;
  6. use common\components\util;
  7. class UploadController extends BaseController
  8. {
  9. public $withoutLogin = [];
  10. //上传图片接口
  11. public function actionImg()
  12. {
  13. $prefix = Yii::$app->params['imgUrl'];
  14. $img = '/uploads/201905/25/jpg/19052591518_12358.jpg';
  15. $url = $prefix . $img;
  16. $data = ['url' => $url, 'relativeUrl' => $img];
  17. util::success($data);
  18. }
  19. /**
  20. * 上传图片文件
  21. */
  22. public function actionUploadFile()
  23. {
  24. $fileInfo = array('url' => '');
  25. if (!empty ($_FILES)) {
  26. $tempFile = $_FILES ['Filedata'] ['tmp_name'];
  27. $fileParts = explode('.', $_FILES ["Filedata"] ['name']);
  28. $fileName = $fileParts [0];
  29. $extName = $fileParts [1];
  30. $webRoot = Yii::getAlias('@webroot') . '/../../../resource/images/';
  31. $timeFolder = '/uploads/' . date('Ym', time()) . '/' . date("d") . '/';
  32. $targetFolder = $timeFolder . strtolower($extName) . '/';
  33. $targetPath = $webRoot . $targetFolder;
  34. if (!file_exists($webRoot . $timeFolder))
  35. mkdir($webRoot . $timeFolder, 0777, true);
  36. if (!file_exists($webRoot . $targetFolder . ''))
  37. mkdir($webRoot . $targetFolder, 0777, true);
  38. $fileId = md5($fileName + rand() * 100000);
  39. $targetFile = rtrim($targetPath, '/') . '/' . $fileId . '.' . $extName;
  40. move_uploaded_file($tempFile, $targetFile);
  41. $fileInfo ['url'] = $targetFolder . $fileId . '.' . $extName;
  42. }
  43. echo json_encode($fileInfo);
  44. }
  45. /**
  46. * 上传商品图片
  47. */
  48. public function actionUploadGoodsImg()
  49. {
  50. $fileInfo = ['url' => ''];
  51. if (!empty($_FILES)) {
  52. $tempFile = $_FILES['Filedata']['tmp_name'];
  53. $fileParts = explode('.', $_FILES["Filedata"]['name']);
  54. $fileName = $fileParts[0];
  55. $extName = $fileParts[1];
  56. $webRoot = Yii::getAlias('@webroot') . '/../../../resource/images/';
  57. $timeFolder = '/uploads/' . date('Ym', time()) . '/' . date("d") . '/';
  58. $targetFolder = $timeFolder . strtolower($extName) . '/';
  59. $targetPath = $webRoot . $targetFolder;
  60. if (!file_exists($webRoot . $targetFolder)) {
  61. mkdir($webRoot . $targetFolder, 0777, true);
  62. }
  63. $id = stringUtil::buildOrderNo();
  64. $substring = $this->merchantId;//商家号
  65. $fileId = $id . '_' . $substring;
  66. $targetFile = rtrim($targetPath, '/') . '/' . $fileId . '.' . $extName;
  67. move_uploaded_file($tempFile, $targetFile);
  68. $dstImg200 = rtrim($targetPath, '/') . '/' . $fileId . '_200.' . $extName;//缩略宽 200px 中
  69. util::img2thumb($targetFile, $dstImg200, 200, 0, 0, 0);
  70. $dstImg50 = rtrim($targetPath, '/') . '/' . $fileId . '_50.' . $extName;//缩略成宽50px 小
  71. util::img2thumb($targetFile, $dstImg50, 50, 0, 0, 0);
  72. $fileInfo['url'] = $targetFolder . $fileId . '.' . $extName;
  73. }
  74. echo json_encode($fileInfo);
  75. }
  76. }