管理员
站长QQ:515138
- 主题
- 124
- 回帖
- 7
- 在线时间
- 76 小时
- 注册时间
- 2024-2-3
- 最后登录
- 2024-11-14
|
之前写过的thinkphp8附件上传方法教程代码,记录下上传组件
代码如下:
- public function index(){
- if(request()->isPost()){
- Request::filter(['strip_tags','htmlspecialchars']);
- $data = input('post.');
- $enameArr=M::column('ename'); //获取ename所有值
- $confArr = array();
- //附件类型数据处理
- $imgcolumn=M::where('dt_type',6)->column('ename');
- //如果是数组的拼接字符串入库,字符串直接入库
- foreach ($data as $k=>$v){
- $confArr[] = $k;
- if(is_array($v)){
- $v=implode(',',$v);
- }
- M::where('ename',$k)->update(['value'=>$v]);
- }
- // 针对复选框都被取消了 和 排除附件字段 进行清空值
- foreach ($enameArr as $k => $v){
- if(!in_array($v,$confArr) && !in_array($v,$imgcolumn)){
- M::where('ename',$v)->update(['value'=>'']);
- }
- }
- foreach ($imgcolumn as $k => $v){
- // 判断文件是否有上传
- if(isset($_FILES[$v]['tmp_name'])){
- $file = request()->file($v);
- // 上传到本地服务器
- $imgSrc = \think\facade\Filesystem::disk('public')->putFile( 'adminfile', $file);
- if($imgSrc != ''){
- M::where('ename',$v)->update(['value'=>$imgSrc]);
- }
- }
- //// 获取表单上传文件 例如上传了001.jpg
- }
- return json(array('code'=>1,'msg'=>"恭喜,更新成功!"));
- }
- $conflst = M::select();
- // 模板输出并变量赋值 只给模板index 赋值
- return view('index', [
- 'confRes' => $conflst
- ]);
- }
复制代码 thinkphp8.x最新版
|
|