Upload.php 2.3 KB

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