php:TP後臺獲取app前端傳入的多圖片,和視頻文件

 /**
     * 上傳測試接口(不需要任何參數)
     * @param  {string} addr:地址,longitude:經度,latitude:緯度
     * @return {json} 成功返回圖片路徑及參數
    */

    public function addReport()
    {
        $tmp = file_get_contents("php://input");
        $arr = json_decode($tmp,true);

        $picList = $this->_upload();//調用圖片上傳函數
        if(!$picList){
            $this->error('圖片上傳失敗');
        }

        $i = 1;
        foreach ($picList as $value) {
            $key = 'pic'.$i;
            $data[$key] = $value;
            $i++;
        }

        $data['addr'] = $arr['addr']?$arr['addr']:I('addr');
        $data['longitude'] = $arr['longitude']?$arr['longitude']:I('longitude');
        $data['latitude'] = $arr['latitude']?$arr['latitude']:I('latitude');
        if(M('Report')->add($data)){
            $this->success($data,'成功');
        }else{
            $this->error('存儲失敗');
        }

    }

    /**
     * 多個圖像上傳
     * @param {string} $type: 存儲類型 report:投訴 ,avatar:頭像,logo:廠家logo,ad:廣告圖片
     * @return {array} $arr 圖片web地址列表
     */
    public function _upload($type = 'report'){
        $config = array(
            'maxSize'    =>    3145728,
            'rootPath'   =>    'up/'.$type.'/',
            'savePath'   =>    '',
            'saveName'   =>    array('uniqid',''),
            'exts'       =>    array('jpg', 'gif', 'png', 'jpeg'),
            'autoSub'    =>    true,
            'subName'    =>    array('date','Ymd'),
        );
        $baseUrl = C('SITE_URL').'up/'.$type.'/';//例如:http://www.baidu.com/up/report/
        $upload = new \Think\Upload($config);// 實例化上傳類
        // 上傳文件 
        $info = $upload->upload();

        $arr = array();
        $i = 0;
        if(!$info) {// 上傳錯誤提示錯誤信息
            $this->error($upload->getError());
        }else{// 上傳成功
            foreach($info as $file){ //循環存儲圖片到服務器
                $subUrl = $file['savepath'].$file['savename'];//例如:20140125/dfuosi203.jpg
                $arr[$i++] = $baseUrl.$subUrl;
            }
            return $arr;
        }

    }
 

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