UploadController.php 2.5 KB

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