**//前端HTML代码
**
<div class="layui-card">
<div class="layui-card-header layui-bg-green">上传试题</div>
<div class="layui-card-body">
<form class="layui-form" enctype="multipart/form-data>
<input type=" hidden" name="username" value="{:session('username')}">
<div class="layui-form-item">
<label class="layui-form-label">文件标题</label>
<div class="layui-input-block">
<input type="text" name="examname" required lay-verify="required" placeholder="请输入标题"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">试题省份</label>
<div class="layui-input-block">
<input type="text" name="province" required lay-verify="required" placeholder="请输入标题"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">试题科目</label>
<div class="layui-input-block">
<select name="kemu" lay-verify="required">
<option value=""></option>
<option value="语文">语文</option>
<option value="数学">数学</option>
<option value="英语">英语</option>
<option value="理综">理综</option>
<option value="文综">文综</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">试题类型</label>
<div class="layui-input-block">
<input type="radio" name="type" value="月考" title="月考">
<input type="radio" name="type" value="模拟" title="模拟" checked>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">适合年级</label>
<div class="layui-input-block">
<input type="radio" name="grade" value="高一" title="高一">
<input type="radio" name="grade" value="高二" title="高二">
<input type="radio" name="grade" value="高三" title="高三" checked>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">选择文件</label>
<div class="layui-input-block">
{if session('username')}
<button class="layui-btn layui-btn-primary" id="uploadfile" type="button"><i class="layui-icon layui-icon-file
"></i>选择试题</button>
{else/}
<button class="layui-btn layui-btn-disabled"><i class="layui-icon layui-icon-file
"></i>请登录后上传</button>
{/if}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">立即提交</label>
<div class="layui-input-block">
{if session('username')}
<button class="layui-btn" id="btnupload" lay-submit lay-filter="examupload" type="button"><i
class="layui-icon layui-icon-ok"></i>立即提交</button>
{else/}
<button class="layui-btn layui-btn-disabled"><i class="layui-icon layui-icon-ok"></i>请登录后上传</button>
{/if}
</div>
</div>
</form>
</div>
</div>
**//前端layui代码
**
```javascript
<script>
layui.use(['form', 'layer', 'upload'], function () {
var form = layui.form;
var layer = layui.layer;
var upload = layui.upload;
var $ = layui.$;
//执行实例
var uploadInst = upload.render({
elem: '#uploadfile',
url: '{:url("exam/uploadfile")}',
accept: 'file',
auto: false,
exts: 'zip|jpg|jpeg|ppt|pptx',
bindAction: '#btnupload',
dataType: "json",
done: function (data) {
if (data.code == 0) {
layer.msg(data.msg)
} else {
layer.msg(data.msg)
}
}
});
//监听表单提交
form.on('submit(examupload)', function (data) {
$.ajax({
type: "post",
url: '{:url("exam/upload")}',
data: data.field,
success:function(data){
if(data.code != 200){
layer.msg(data.msg)
}
}
})
return false;
});
})
</script>
**//后端代码
**```php
class Exam extends Common
{
public $newName;
public function exam()
{
return View::fetch();
}
public function uploadfile()
{
$file = request()->file('file');
$savename = \think\facade\Filesystem::disk('public')->putFile('upload', $file);
$this->newName = $savename;
var_dump($this->newName);
//这里可以正输出文件名字
}
public function upload()
{
var_dump($this->newName);
//在这个方法里面调用 就不行了,输出就为NULL
$data = request()->param();
}
}