單圖方法
//單圖片上傳
public function upload($file){
// 移動到框架應用根目錄/public/uploads/ 目錄下
if($file){
// 我這里設置的是1兆,單位是字節
$info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
// 成功上傳后 獲取上傳信息
return $info->getSaveName();
}else{
// 上傳失敗獲取錯誤信息
$this->error($file->getError());
}
}
}
多圖方法
// 多圖片上傳
public function multiUpload($files){
// 移動到框架應用根目錄/public/uploads/ 目錄下
if($files){
$names=[];
foreach($files as $file){
// 移動到框架應用根目錄/public/uploads/ 目錄下,單圖最多允許1兆
$info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
if(!$info){
// 上傳失敗獲取錯誤信息
$this->error($file->getError());
}else{
$name=$info->getSaveName();
array_push($names,$name);
}
}
//全部上傳成功之后
$names = implode(',',$names);
return $names;
}
}
調用上傳方法
//保存訂單信息
public function save(){
if(!request()->isPost()){
$this->error('請求不合法');
}
$data=input('post.');
//修改訂單
if(!empty($data['id'])){
//如果上傳了圖片
$files = request()->file('installPic');
if($files){
$installPic=$this->multiUpload($files);
$data['installPic']=$installPic;
}else{
//沒有上傳圖片,就是用原來的圖片
$data['installPic']=$data['lastPic'];
}
//更新訂單操作
$id=intval($data['id']);
$res=model('Member')->allowField(true)->save($data,['id'=>$id]);
if($res){
return alert_success('訂單更新成功');
}else{
return alert_error('訂單更新失敗,請咨詢客服人員');
}
}else{
//新增訂單
$files = request()->file('installPic');
if($files){
$installPic=$this->multiUpload($files);
$data['installPic']=$installPic;
}
$res=model('Member')->add($data);//新增操作
if($res){
return alert_success('訂單錄入成功');
}else{
return alert_error('訂單錄入失敗,請咨詢客服人員');
}
}
}