Upfile.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. *
  4. * User: anyluck
  5. * Date: 2020/4/17
  6. * Time: 9:56
  7. */
  8. namespace app\web\model;
  9. use app\BaseController;
  10. use think\facade\Request;
  11. use lemo\helper\DataHelper;
  12. class Upfile
  13. {
  14. //上传验证规则
  15. protected static $uploadValidate = [
  16. 'image' => 'filesize:102400|fileExt:jpg,png,gif,jpeg,rar,zip,avi,mp4,rmvb,3gp,flv,mp3,txt,doc,xls,ppt,pdf,xls,docx,xlsx,doc'
  17. ];
  18. // TODO 文件类处理
  19. /**
  20. * 文件上传
  21. * @return false|string
  22. */
  23. public static function Uploadss()
  24. {
  25. $fileKey = array_keys(request()->file());
  26. $error="";
  27. for ($i = 0; $i < count($fileKey); $i++) {
  28. //获取表单上传文件
  29. $file = request()->file($fileKey[$i]);
  30. try {
  31. validate(self::$uploadValidate)->check(DataHelper::objToArray($file));
  32. $savename = \think\facade\Filesystem::disk('public')->putFile('uploads', $file);
  33. $savename= str_replace('\\', "/", $savename);
  34. $path[] = '/storage/' . $savename;
  35. } catch (\think\exception\ValidateException $e) {
  36. $path = '';
  37. $error = $e->getMessage();
  38. }
  39. }
  40. if (!empty($path)) {
  41. $result['code'] = 1;
  42. $result["url"] = $path[0];
  43. $result['msg'] = lang('upload success');
  44. json_result(200,"",$result);
  45. } else {
  46. //上传失败获取错误信息
  47. $result['url'] = '';
  48. $result['msg'] = $error;
  49. $result['code'] = 0;
  50. // return $result;
  51. json_result(200,"",$result);
  52. }
  53. }
  54. }