thinkphp3.2上传图片如何进行封装?

上传图片后,还需要获取表单地信息,进行添加到数据库!上传地代码是手册上的,如下图的例子,像这样地要如何封装,求大神指教!... 上传图片后,还需要获取表单地信息,进行添加到数据库!上传地代码是手册上的,如下图的例子,像这样地要如何封装,求大神指教! 展开
 我来答
柚子ok丶
2017-12-15 · TA获得超过815个赞
知道小有建树答主
回答量:646
采纳率:93%
帮助的人:188万
展开全部

把你的上传部分写在function.php或者继承的父级控制器就行。

如:

/*文件上传*/
function _uploads($savePath='/Picture/'){
    $upload = new \Think\Upload();
    $upload->maxSize = 3*1024*1024;// 设置附件上传大小
    $upload->exts = array('jpg', 'gif', 'png', 'jpeg', 'bmp');// 设置附件上传类型
    $upload->autoSub = true;//自动子目录保存文件
    $upload->subName = array('date','Y-m-d');//子目录创建方式
    $upload->saveName = array('uniqid','');//上传文件命名规则,唯一性
    $upload->rootPath = './Uploads/'; // 设置附件上传根目录
    $upload->savePath = $savePath; // 设置附件上传(子)目录
    // 上传文件
    $info = $upload->upload();
    return $info;
}

//此处方法调用
public function upFile(){
    $file = _uploads('/Picture/');//里面可填写子目录文件路径,支持多文件上传
    if($file){
        $img = M('img');
        //...此处添加所需逻辑处理
        foreach ($file as $v) {
            //...此处添加所需逻辑处理
            //拼接图片地址用于保存数据库
            $dataImg['url'] = '/Uploads' . $v['savepath'] . $v['savename'];//根据需求拼接路径,也可在/Uploads前拼成根路径加上项目名称
            $img->add($dataImg);
        }
    }

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式