Fileoper.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: sicilon_IT
  5. * Date: 2020/1/5
  6. * Time: 9:49
  7. */
  8. namespace app\index\controller;
  9. use think\Controller;
  10. use think\Request;
  11. class Fileoper extends Controller
  12. {
  13. public function upQuestionsWrite()
  14. {
  15. // 获取表单上传文件
  16. $file = request()->file('file');
  17. $domainpath = 'https://' . $_SERVER['HTTP_HOST'] . '/Uploads/';
  18. if (empty($file)) {
  19. $this->error('请选择上传文件');
  20. }
  21. // 移动到框架应用根目录/public/uploads/ 目录下
  22. $info = $file->move(ROOT_PATH . 'public' . DS . 'Uploads');
  23. //如果不清楚文件上传的具体键名,可以直接打印$info来查看
  24. //获取文件(文件名),$info->getFilename() ***********不同之处,笔记笔记哦
  25. //获取文件(日期/文件名),$info->getSaveName() **********不同之处,笔记笔记哦
  26. $filename = $info->getSaveName(); //在测试的时候也可以直接打印文件名称来查看
  27. if ($filename) {
  28. //$this->success('文件上传成功!');
  29. $imageUrl = $domainpath . $filename;
  30. $r_upload['code'] = '200';
  31. $r_upload['resultData'] = $imageUrl;
  32. //不转义反斜杠
  33. return json_encode($r_upload, 320);
  34. } else {
  35. // 上传失败获取错误信息
  36. $this->error($file->getError());
  37. }
  38. }
  39. /**
  40. * 指定文件位置上传
  41. *
  42. * @return void
  43. */
  44. public function uploadfilebydir()
  45. {
  46. // 获取表单上传文件
  47. $file = request()->file('file');
  48. if (empty($file)) {
  49. $this->error('请选择上传文件');
  50. }
  51. $dir = request()->param('dir');
  52. if (!preg_match("/^[a-z]{5,10}$/", $dir)) {
  53. $this->error('请求错误');
  54. }
  55. $dir = 'Uploads' . '/' . $dir;
  56. $domainpath = 'https://' . $_SERVER['HTTP_HOST'] . '/' . $dir . '/';
  57. // 移动到框架应用根目录/public/uploads/ 目录下
  58. $info = $file->move(ROOT_PATH . 'public' . '/' . $dir);
  59. //如果不清楚文件上传的具体键名,可以直接打印$info来查看
  60. //获取文件(文件名),$info->getFilename() ***********不同之处,笔记笔记哦
  61. //获取文件(日期/文件名),$info->getSaveName() **********不同之处,笔记笔记哦
  62. $filename = $info->getSaveName(); //在测试的时候也可以直接打印文件名称来查看
  63. $filename = str_replace(DS, "/", $filename);
  64. if ($filename) {
  65. //$this->success('文件上传成功!');
  66. $imageUrl = $domainpath . $filename;
  67. $r_upload['code'] = '200';
  68. $r_upload['resultData'] = $imageUrl;
  69. //不转义反斜杠
  70. return json_encode($r_upload, 320);
  71. } else {
  72. // 上传失败获取错误信息
  73. $this->error($file->getError());
  74. }
  75. }
  76. }