Upload.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace app\admin\model;
  3. use\think\Model;
  4. use think\Session;
  5. use think\cache\driver\Redis;
  6. use think\Loader;
  7. use think\Cache;
  8. class Upload extends Model
  9. {
  10. /**
  11. * 图片上传.
  12. */
  13. public function uploadImg()
  14. {
  15. $code = -2;
  16. $file = request()->file('file');
  17. $fileInfo = $file->getInfo();
  18. if ($fileInfo['size'] > 1024 * 100 * 2) {
  19. // 上传失败获取错误信息.
  20. return [
  21. 'code' => $code,
  22. 'msg' => lang('EC01005'),
  23. 'data' => [],
  24. ];
  25. }
  26. // 检测图片格式.
  27. $ext = explode('/', $fileInfo['type']);
  28. $ext = array_pop($ext);
  29. $extArr = explode('|', 'jpg|png|gif|jpeg');
  30. if (in_array($ext, $extArr) === false) {
  31. return [
  32. 'code' => $code,
  33. 'msg' => lang('EC01006'),
  34. 'data' => [],
  35. ];
  36. }
  37. // 移动到框架应用根目录/public/uploads/ 目录下.
  38. $info = $file->move(ROOT_PATH.'public'.DS.'uploads');
  39. if (empty($info) === false) {
  40. $src = '/uploads/'.date('Ymd').'/'.$info->getFilename();
  41. return [
  42. 'code' => 1,
  43. 'msg' => '',
  44. 'data' => $src,
  45. ];
  46. } else {
  47. // 上传失败获取错误信息.
  48. return [
  49. 'code' => $code,
  50. 'msg' => lang('EC01007'),
  51. 'data' => [],
  52. ];
  53. }
  54. }//end uploadImg()
  55. }