多图片|单图片上传 tp3

多图片|单图片上传(tp3)

在tp3中有thinkphp中自带的文件上传类,对于新手开发者而言,碰到文件上传有时候不知道如果使用tp自带的上传类,如何上传好的,方法返回的单图,或者多图的路径。

第一步 把tp3的上传类封装到应用方法中

 function uploads(){
    $upload = new \Think\Upload();// 实例化上传类

    $upload->maxSize   =     3145728 ;// 设置附件上传大小

    $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

    $upload->rootPath  =      './Public/uploads/'; // 设置附件上传根目录

    $upload->savePath  =      $paths; // 设置附件上传(子)目录

    $upload->subName = array('date','Ymd');
    
    // 上传文件  在这里进行上传文件
    $info   =   $upload->upload();

    if(!$info) {// 上传错误提示错误信息

        echo "<script>alert('".$upload->getError()."');window.history.go(-1);</script>";die;

    }else{// 上传成功 获取上传文件信息

     $paths = array();

      foreach($info as $file){      


        $paths[] = '/Public/uploads/'.$file['savepath'].$file['savename'];   	// 在这里返回了添加成功的路径

          }
         return $paths;

    }
}

第二步 哪里想用调哪里

public function f1(){

	$images = $_FILES['images'];	//接收文件
	
	$file = uploads($images);  //上传文件返回路径数据
	
	$str = implode($file);  //转换为字符串
	
	$data['imgs'] = $str;	//赋值到数组中
	
	$res =M('user)->add($data);	//添加数据
}

用户上传接口如何实现?

    /*
     * 上传图片
     */
    public function uploads()
    {

        $data['code']     = 200;
        $data['msg']      = '上传成功';
        $upload           = new \Think\Upload(); // 实例化上传类
        $upload->maxSize  = 3145725551; // 设置附件上传大小
        $upload->exts     = array('jpg', 'gif', 'png', 'jpeg', 'mp4', 'wmx', 'mov', 'mpeg', 'rm'); // 设置附件上传类型
        $upload->rootPath = './Public/uploads/'; // 设置附件上传根目录
        $upload->savePath = ''; // 设置附件上传(子)目录
        $upload->autoSub  = true;
        $upload->subName  = array('date', 'Ymd');
        // 上传文件
        $info = $upload->upload();
        if (!$info) {
            // 上传错误提示错误信息
            $this->error($upload->getError());
        } else {
            $dataa = '';
            foreach ($info as $k) {
                $dataa .= '/Public/uploads/' . $k['savepath'] . $k['savename'] . '|';
            }
            $dataa               = rtrim($dataa, '|');
            $data['data']['img'] = $dataa;

            $this->ajaxReturn($data);
        }
    }

这个方法如果图片上传上来 只要是数据就都可以用着一个方法,上传一个或着多个图片都可以。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值