PHP上传格式文件后缀判断方式,原来我看到的基本上截取点后面的字符串,今天看到不一样的处理逻辑,在此记录下。
//上传文件
public function uploadFile()
{
$file = request()->file('file');
$fileInfo = $file->getInfo();
// 检测图片格式
$ext = explode('.', $fileInfo['name']);
$ext = array_pop($ext);
$extArr = explode('|', 'zip|rar|txt|doc|docx|xls|xlsx');
if(!in_array($ext, $extArr)){
return json(['code' => -3, 'data' => '', 'msg' => '只能上传zip|rar|txt|doc|docx|xls|xlsx的文件']);
}
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move('./uploads');
if($info){
$src = '/uploads' . '/' . date('Ymd') . '/' . $info->getFilename();
return json(['code' => 0, 'data' => ['src' => $src, 'name' => $fileInfo['name'] ], 'msg' => '']);
}else{
// 上传失败获取错误信息
return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]);
}
}
相关文章