$face=$_FILES['face'];
if($face['size']<0){
echo '上传文件为空';
exit;
}
//判断文件格式
$arr=array('jpg','png','gif')
$arrs=explode('.',$face['name']);
$ext=$arrs[count($arrs)-1];
if(!in_array($ext,$arr)){
echo '文件格式错误!';
exit;
}
//判断上传大小
if($face['size']>307200){
echo '文件大小已超出限制范围!';
exit;
}
$dir='faces';//文件上传目录
$upload=copy($face['tmp_name'],$dir.'/'.$face['name']);
if($upload=false){
echo '文件上传失败!';
exit;
}
追问 $arrs=explode('.',$face['name']);
是不是有错误?
我不懂php,您能否把完整的可以直接上传使用的源码发出来
追答/*
* 功 能:单文件上传upload_imag
* 返回值类型:数组
* 参 数:$face:获取上传文件信息,必填
$ext_arr:指定文件上传类型,为数组,可选
$size:限制上传文件大小默认2M,可选
$dir:文件上传的目录名称,可选
$name: 文件名,留空则随机取名不带后缀名 可选
*/
function upload_imag($face,$dir='faces',$name='',$ext_arr=array('jpg','png','gif'),$size=2097152){
if($face['size']>0){
if(!is_dir($dir)){
mkdir($dir);
}
$arrs=explode('.',$face['name']);
$ext=$arrs[count($arrs)-1];
if(!in_array($ext,$ext_arr)){
echo '文件格式错误!';
exit;
}
if($face['size']>$size){
echo '文件大小已超出限制范围!';
exit;
}
if(empty($name)){
$newname=date('YmdHis',time()).rand(1000,9999).'.'.$ext;
}else{
$newname=$name.'.'.$ext;
}
$upload_face=copy($face['tmp_name'],$dir.'/'.$newname);
if($upload_face=false){
echo '文件上传失败!';
exit;
}
return $newname;//上传成功,返回文件名
}else{
return '';//上传文件为空,则返回空
}
}
这是php上传文件封装的函数,你看参数说明填写吧。望采纳!