/**
* 上傳測試接口(不需要任何參數)
* @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;
}
}