Upload.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace app\service\controller;
  3. class Upload extends Base
  4. {
  5. //上传图片
  6. public function uploadImg()
  7. {
  8. // 验证token.
  9. $tokenStatus = $this->verifyToken();
  10. $code = -2;
  11. $msg = '错误';
  12. if ($tokenStatus === false) {
  13. $msg = 'token错误';
  14. return json(['code' => $code, 'data' => [], 'msg' => $msg]);
  15. }
  16. try {
  17. $file = request()->file('file');
  18. $fileInfo = $file->getInfo();
  19. /*if($fileInfo['size'] > 1024 * 1024 * 2){
  20. // 上传失败获取错误信息
  21. return json( ['code' => -2, 'data' => '', 'msg' => '文件超过2M'] );
  22. }*/
  23. //检测图片格式
  24. $ext = explode('.', $fileInfo['name']);
  25. $ext = array_pop($ext);
  26. $extArr = explode('|', 'jpg|png|gif|jpeg');
  27. if(!in_array($ext, $extArr)){
  28. return json(['code' => -3, 'data' => '', 'msg' => '只能上传jpg|png|gif|jpeg的文件']);
  29. }
  30. // 移动到框架应用根目录/public/uploads/ 目录下
  31. $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
  32. if($info){
  33. $src = '/uploads' . '/' . date('Ymd') . '/' . $info->getFilename();
  34. return json(['code' => 0, 'data' => ['src' => $src ], 'msg' => '']);
  35. }else{
  36. // 上传失败获取错误信息
  37. return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]);
  38. }
  39. } catch (\Exception $e) {
  40. return json(['code' => $code, 'data' => [], 'msg' => $msg]);
  41. }//end try
  42. }
  43. //上传文件
  44. public function uploadFile()
  45. {
  46. $file = request()->file('file');
  47. $fileInfo = $file->getInfo();
  48. /*if($fileInfo['size'] > 1024*1024*2){
  49. // 上传失败获取错误信息
  50. return json( ['code' => -2, 'data' => '', 'msg' => '文件超过2M'] );
  51. }*/
  52. // 检测文件格式
  53. $ext = explode('.', $fileInfo['name']);
  54. $ext = array_pop($ext);
  55. $extArr = explode('|', 'zip|rar');
  56. if(!in_array($ext, $extArr)){
  57. return json(['code' => -3, 'data' => '', 'msg' => '只能上传zip|rar的文件']);
  58. }
  59. // 移动到框架应用根目录/public/uploads/ 目录下
  60. $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
  61. if($info){
  62. $src = '/uploads' . '/' . date('Ymd') . '/' . $info->getFilename();
  63. return json(['code' => 0, 'data' => ['src' => $src ], 'msg' => $fileInfo['name']]);
  64. }else{
  65. // 上传失败获取错误信息
  66. return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]);
  67. }
  68. }
  69. }