作者 邓超

x

@@ -151,7 +151,7 @@ class Body { @@ -151,7 +151,7 @@ class Body {
151 151
152 // 有附件的情况 152 // 有附件的情况
153 preg_match('/boundary="(.*)"/Ui',$body,$boundary); 153 preg_match('/boundary="(.*)"/Ui',$body,$boundary);
154 - if($boundary[0]??''){ 154 + if(!empty($boundary[0])){
155 $body = str_replace($boundary[0],'',$body); 155 $body = str_replace($boundary[0],'',$body);
156 // $body = mb_substr($body,mb_strpos($body,$boundary[0])+strlen($boundary[0]),99999999999); 156 // $body = mb_substr($body,mb_strpos($body,$boundary[0])+strlen($boundary[0]),99999999999);
157 } 157 }
@@ -232,7 +232,8 @@ class Body { @@ -232,7 +232,8 @@ class Body {
232 } 232 }
233 233
234 // 先匹配留存文件名称 234 // 先匹配留存文件名称
235 - preg_match('/filename="(\w?.*)"/',$item,$filename); 235 + $filename = '';
  236 + preg_match('/filename="(\w?.*)"/U',$item,$filename);
236 if(!empty($filename[1])){ 237 if(!empty($filename[1])){
237 // $filename = MailFun::decodeMimeStr($filename[1]); 238 // $filename = MailFun::decodeMimeStr($filename[1]);
238 $filename = mb_decode_mimeheader($filename[1]); 239 $filename = mb_decode_mimeheader($filename[1]);
@@ -318,7 +319,7 @@ class Body { @@ -318,7 +319,7 @@ class Body {
318 319
319 $data['filename'] = $this->file_save_name($item['body'],'filename'); 320 $data['filename'] = $this->file_save_name($item['body'],'filename');
320 $data['name'] = $this->file_save_name($item['body'],'name'); 321 $data['name'] = $this->file_save_name($item['body'],'name');
321 - $data['name'] = $data['name'] ? : ($item['name']??$filename); 322 + $data['name'] = $data['name'] ? : (empty($item['name'])?$filename:$item['name']);
322 $data['filename'] = $data['filename'] ? : $data['name']; 323 $data['filename'] = $data['filename'] ? : $data['name'];
323 324
324 // 是否有文件名 325 // 是否有文件名
@@ -396,7 +397,7 @@ class Body { @@ -396,7 +397,7 @@ class Body {
396 // 获取文件名称 397 // 获取文件名称
397 private function file_save_name(&$body,$tag){ 398 private function file_save_name(&$body,$tag){
398 preg_match('/'.$tag.'="[(\S\W.*\s.*)]{1,}"/i',$body,$result); 399 preg_match('/'.$tag.'="[(\S\W.*\s.*)]{1,}"/i',$body,$result);
399 - if($result[0]??''){ 400 + if(!empty($result[0])){
400 $body = str_replace($result[0],'',$body); 401 $body = str_replace($result[0],'',$body);
401 } 402 }
402 $val = trim(str_replace([$tag.'=','"',"'"],'',$result[0]??'')); 403 $val = trim(str_replace([$tag.'=','"',"'"],'',$result[0]??''));