多圖片|單圖片上傳 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);
        }
    }

這個方法如果圖片上傳上來 只要是數據就都可以用着一個方法,上傳一個或着多個圖片都可以。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章