新建某项活动(要求上传图片)//注意,没有过滤post内容。
public function xinjianhuodong() {
$action = $this->request->param('action');
// var_dump(Session::get('user'));
// var_dump(Cookie::get('user'));
if (isset($action) && $action != '') {
if ($action == 'add') {
$data = $this->request->post(); //这个是接收其他信息的,与文件上传无关。
//记得后期加过滤$data
//var_dump($data);
$file = request()->file("huodonghaibao");
if (empty($file)) {
$this->error('请选择上传文件');
}
//var_dump($file);
$arr = $file->getInfo(); // 文件名称
//获取文件(文件名),$info->getFilename() ***********不同之处,笔记笔记哦
//获取文件(日期/文件名),$info->getSaveName() **********不同之处,笔记笔记哦
//$config = array('size'=>1024*1024*10,'ext'=>array('mp3','mp4','jpg','jpeg','png','gif','avi','wav','rmvb'));
$config = array('size' => 1024 * 1024 * 10, 'ext' => array('jpg', 'jpeg', 'png', 'gif')); //大小限制10M,扩展名限制为图片类的。
//$ext = substr(strrchr($info->getSaveName(), "."), 1);//扩展名,不带"."
//var_dump($arr);
$ext = strrchr($arr['name'], "."); //扩展名,带"."
$filename = FunctionsApp::global_getip() . "" . date("YmdHis") . "" . $ext;
$info = $file->validate($config)
->move(ROOT_PATH . 'public' . DS . 'upload' . DS . 'img', $filename);
//$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
//$info = $file->move(ROOT_PATH.'\theme\admin\default\static'.DS.'\image');//图片保存路径
//$fileUrl = 'http://'.$_SERVER['HTTP_HOST'].'/public/upload/img/'.$filename; // 文件绝对路径
$fileUrl = '/public/upload/img/' . $filename; // 文件绝对路径
//计算date开始和结束日期
$datestart = substr($data['date'], 6, 4) . '-' . substr($data['date'], 0, 2) . '-' . substr($data['date'], 3, 2);
$datestop = substr($data['date'], -4, 4) . '-' . substr($data['date'], -10, 2) . '-' . substr($data['date'], -7, 2);
//上传到数据库
if ($info) {
$result = db('hosp_huodong')
->data([
'uid' => Session::get('user')['id'],
'createtime' => date("Y-m-d H:i:s", time()),
'model' => 1,
'name' => $data['name'],
'district' => $data['district'],
'datestart' => $datestart,
'datestop' => $datestop,
'timestart' => $data['timestart'],
'timestop' => $data['timestop'],
'cost' => $data['cost'],
'img' => $fileUrl,
'discribe' => $data['discribe'],
'person_no' => $data['person_no'],
'max_no' => $data['max_no'],
'status' => 0,
])->insert();
} else {
$this->error('文件上传失败,请检查文件大小和类型!');
}
if ($result) {
$this->success('活动新建成功!');
} else {
$this->error('活动新建失败,请联系管理员!');
}
}
}
return $this->view->fetch();
}