封装文件上传函数
功能:上传文件
条件:条件判断
需要上传的文件信息:对应的五个元素的数组
1、文件类型是否合适:外部指定MIME类型
2、文件存储到什么位置:外部指定
3、文件格式限制(文件后缀):外部指定
4、文件大小限制:外部指定
结果:实现文件上传
1、成功:结果能在以后看到:需要将文件的路径及文件名字返回(存储到数据库)
2、失败:返回false,指定错误原因(引用参数)
1、封装一个上传函数
$max_size){
//文件过大
$error = '当前上传的文件超出大小,最大为'. $max_size . '字节'; //$max_size除以1000为kb,除以1000000为mb
return false;
}
//构造文件名字:同名文件、中文名文件等问题(类型_年月日+随机字符串.$ext)
$fullname = strstr($file['type'],'/',true) . date('Ymd');
//产生随机字符串
for($i = 0;$i<4;$i++){
$fullname .= chr(mt_rand(65,90));
}
//拼凑后缀
$fullname .= '.' . $ext;
//移动到指定目录
if(!is_uploaded_file($file['tmp_name'])){
//文件不是上传的
$error = '文件上传错误';
return false;
}
if(move_uploaded_file($file['tmp_name'],$path . '/' . $fullname)){
//成功
return $fullname;
}else{
//移动失败
$error = '文件上传失败';
return false;
}
}
在使用函数时需要给出$file,$allow_type,$path,&$error,$allow_format,$max_size 的值
in_array():判断一个元素在数组中是否存在