文件上传 函数
程序员文章站
2022-04-25 23:18:21
...
代码
/** * 上传 * @allowedTypes array 允许上传文件类型数组(后缀名) */ function upload($inputName, $allowedSize, $allowedTypes, $saveDir){ if(empty($_FILES)) { msg("上传文件大小超出表单规定"); } if(empty($_FILES[$inputName]['tmp_name'])) { msg("上传文件大小超出控件规定"); } //检查是否合法上传 if(!is_uploaded_file($_FILES[$inputName]['tmp_name'])) { msg("上传文件不合法"); } //检查大小 if($_FILES[$inputName]['size'] > $allowedSize) { msg("上传文件体积超出规定大小"); } //检查类型 $extension = array_pop(explode(".", $_FILES[$inputName]['name']));//后缀名 if(!in_array($extension, $allowedTypes)) { msg("上传文件类型({$extension})不允许,只能是".implode(",", $allowedTypes)); } //重命名 $sp = DIRECTORY_SEPARATOR; if(!file_exists($saveDir)) { mkdir($saveDir, 0777, true); } $new_filename = $saveDir.$sp.date("YmdHis").rand(10000, 99999).".".$extension; //移动 $res = move_uploaded_file($_FILES[$inputName]['tmp_name'], $new_filename); if($res) { return $new_filename; }else{ msg("上传文件失败"); } }