您当前的位置: 首页 > 

苗先生的PHP记录

暂无认证

  • 1浏览

    0关注

    190博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

图片上传,单独上传类,模型事件方法,修改图片删除原图片

苗先生的PHP记录 发布时间:2020-04-17 15:08:47 ,浏览量:1

后台类

 public function upload_img()
    {
        $file = request()->file('file');
        if ($file == null){
            exit(json_encode(array('code'=>1,'msg'=>'没有上传文件')));
        }

        //判断uploads目录是否存在
        $dir = ROOT_PATH.'public/uploads/';
        if (!is_dir($dir)){
            mkdir($dir);
        }

        // 有图片 , 保存到一个目录下
        $info = $file->move($dir);
        $ext = strtolower($info->getExtension());
        if (!in_array($ext,array('jpg','png','gif','jpeg'))){
            exit(json_encode(array('code'=>1,'msg'=>'文件格式不支持')));
        }

        $img ="/uploads/". $info->getSaveName();

        exit(json_encode(array('code'=>0,'img'=>$img,'msg'=>'上传成功')));
    }

返回的是图片地址,如果需要预览 上传后提交表单需要加隐藏域,不能直接提交的src

layui.use(['layer','form','upload'],function(){
			form = layui.form;
			layer = layui.layer;
			upload = layui.upload;
			$ = layui.jquery;

			var uploadInst = upload.render({
				elem: '#img' //绑定元素
				,accept:'images'    //上传文件类型
				,url: '{:url("upload/upload_img")}' //上传接口
				,done: function(res){
					//上传完毕回调
					$('#pre_img').attr('src',res.img);
					$('#pre_img').attr('title','点击预览');
					$('input[name="img"]').val(res.img);
				}
				,error: function(){
					layer.alert(res.msg,{icon:2});
				}
			});
图片
上传图片

当写了一个上传类时 ,传入参数直接调用 参考: https://blog.csdn.net/haibo0668/article/details/80799379

上传类

class Upload extends BaseController
{
   //图片上传   调用上传前一定要确定有文件,否则会出错
    public  function image($file,$controller,$method)
    {
        $dir = ROOT_PATH.'public/uploads';
        if (!is_dir($dir)){
            mkdir($dir);
        }
        $info = $file->move($dir);
//        $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');

        $ext = strtolower($info->getExtension());
        if (!in_array($ext,array('jpg','gif','png','jpeg'))){
            $this->error('图片格式不支持',"$controller/$method");
        }
        $res = "/uploads/".$info->getSaveName();

        return $res;
    }
}

调用控制器的写法,图片组件 参考: https://blog.csdn.net/shj_php/article/details/88287210

            
关注
打赏
1665468453
查看更多评论
0.0416s