```
上传方法:
//图片上传
public function upload(){
//判断文件上传没有错误
if ($_FILES["file"]['error'] == 0){
//获取文件
$file = request()->file('file');
if($file){
//获取图片路径
$filepath = \think\facade\Env::get("root_path")."public/upload";
//验证后缀,移动到upload文件夹
$info = $file->validate(['ext'=>'jpg,png,gif,jpeg'])->move($filepath);
if ($info){
//文件名
$picname = $info->getSaveName();
}else{
// 上传失败获取错误信息
return ['code'=>1,'msg'=>$file->getError()];
}
//返回信息
return json(["code"=>1,"picname"=>$picname]);
}
}
}
```
```
前端页面:
<div class="layui-form-item" style="margin: 20px 0">
<label class="layui-form-label">头像上传</label>
<div class="layui-input-block">
<input type="hidden" id="pic" name="img">
<button type="button" class="layui-btn" id="imgUpload">
<i class="layui-icon"></i>上传
</button>
<div id="pic1"></div>
</div>
</div>
jq代码:
// 图片上传
var uploadInst = upload.render({
elem: '#imgUpload' //绑定元素
, url: '{:url("admin/user/upload")}' //上传接口
, done: function (res) {
if (res.code == 1) {
var str1 = "<img src='/upload/" + res.picname + "' style='max-width: 100px;max-height: 100px'>";
//显示图片
$("#pic1").html(str1);
//保存图片内容,返回到后端
$("#pic").val(res.picname);
} else {
$("#pic").val('');
layer.msg("图片上传失败");
}
}
, error: function () {
//请求异常回调
layer.msg("请求失败");
}
});
```
文件名是带路径的,如果不需要路径,只需要文件名:
`$data["file"] = basename($data["file"]);`