tp5增加某条记录,带上传图片文件的示例。

新建某项活动(要求上传图片)//注意,没有过滤post内容。

    public function xinjianhuodong() {

        $action = $this->request->param('action');

//        var_dump(Session::get('user'));
//        var_dump(Cookie::get('user'));
        if (isset($action) && $action != '') {
            if ($action == 'add') {

                $data = $this->request->post(); //这个是接收其他信息的,与文件上传无关。
                //记得后期加过滤$data
                //var_dump($data);

                $file = request()->file("huodonghaibao");
                if (empty($file)) {
                    $this->error('请选择上传文件');
                }
                //var_dump($file);
                $arr = $file->getInfo(); // 文件名称
                //获取文件(文件名),$info->getFilename()  ***********不同之处,笔记笔记哦
                //获取文件(日期/文件名),$info->getSaveName()  **********不同之处,笔记笔记哦
                //$config = array('size'=>1024*1024*10,'ext'=>array('mp3','mp4','jpg','jpeg','png','gif','avi','wav','rmvb'));
                $config = array('size' => 1024 * 1024 * 10, 'ext' => array('jpg', 'jpeg', 'png', 'gif')); //大小限制10M,扩展名限制为图片类的。
                //$ext = substr(strrchr($info->getSaveName(), "."), 1);//扩展名,不带"."
                //var_dump($arr);
                $ext = strrchr($arr['name'], "."); //扩展名,带"."
                $filename = FunctionsApp::global_getip() . "" . date("YmdHis") . "" . $ext;
                $info = $file->validate($config)
                        ->move(ROOT_PATH . 'public' . DS . 'upload' . DS . 'img', $filename);

                //$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
                //$info = $file->move(ROOT_PATH.'\theme\admin\default\static'.DS.'\image');//图片保存路径
                //$fileUrl = 'http://'.$_SERVER['HTTP_HOST'].'/public/upload/img/'.$filename; // 文件绝对路径
                $fileUrl = '/public/upload/img/' . $filename; // 文件绝对路径
                //计算date开始和结束日期
                $datestart = substr($data['date'], 6, 4) . '-' . substr($data['date'], 0, 2) . '-' . substr($data['date'], 3, 2);
                $datestop = substr($data['date'], -4, 4) . '-' . substr($data['date'], -10, 2) . '-' . substr($data['date'], -7, 2);
                //上传到数据库
                if ($info) {
                    $result = db('hosp_huodong')
                                    ->data([
                                        'uid' => Session::get('user')['id'],
                                        'createtime' => date("Y-m-d H:i:s", time()),
                                        'model' => 1,
                                        'name' => $data['name'],
                                        'district' => $data['district'],
                                        'datestart' => $datestart,
                                        'datestop' => $datestop,
                                        'timestart' => $data['timestart'],
                                        'timestop' => $data['timestop'],
                                        'cost' => $data['cost'],
                                        'img' => $fileUrl,
                                        'discribe' => $data['discribe'],
                                        'person_no' => $data['person_no'],
                                        'max_no' => $data['max_no'],
                                        'status' => 0,
                                    ])->insert();
                } else {
                    $this->error('文件上传失败,请检查文件大小和类型!');
                }
                if ($result) {
                    $this->success('活动新建成功!');
                } else {
                    $this->error('活动新建失败,请联系管理员!');
                }
            }
        }
        return $this->view->fetch();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值