/**
* @title 图片处理上传类
* @author zhangcunchao
*
*/
class UploadImage{
/**
* dir 文件上传后的存储目录
* filetype 允许上传的文件类型,默认为jpg,gif,png的图片格式
* size 允许上传的文件的大小 ,默认为空,不限制
*
* @return array image 文件的存储目录,error有值表示上传失败。 error 1 文件大小超过配置文件中的限制,error 2上传文件大小不符合要求
*/
function upFile($dir='image/',$filetype='',$size='',$newname=''){
foreach($_FILES as $key=>$value){
$file = $key;
break;
}
if('0'==$_FILES["$file"]['error']){
switch ($filetype) {
case 1:$filetype='application/octet-stream';break;//压缩类型
case 2:$filetype='text/plain,application/pdf,application/msword';break;//txt,pdf,doc类型
default:$filetype='image/jpeg,image/gif,image/png';//图片类型
}
//判断上传文件的类型
if(substr_count($filetype,$_FILES["$file"]['type'])){
//如果限制了文件大小则判断文件的大小
if(!empty($size)){
if($_FILES["$file"]['size']>$size){
return $result['error']='上传文件的大小不符合要求';
}
}
//执行上传
if(empty($newname)){
$hou = strrchr($_FILES["$file"]['name'],'.');
$newname = date('YmdHis',time()).$hou;
$upload = $dir.$newname;
}
$n_dir = explode('/',$dir);
$w_dir='';
foreach($n_dir as $k=>$v){
$w_dir .= $v;
if(!is_dir($w_dir)){
mkdir($w_dir);
}
$w_dir .='/';
}
if(is_uploaded_file($_FILES["$file"]['tmp_name'])){
if(move_uploaded_file($_FILES["$file"]['tmp_name'],$upload)){
return $upload;
}
else{
return $result['error'] = '上传失败';
}
}
}else{
return $result['error']='上传文件的类型不符合要求';
}
}else{
switch ($_FILES["$file"]['error']) {
case 1:$tmp='上传文件大小超出配置文件中的限制';break;
case 2:$tmp='上传文件大小超出HTML表单中max_file_size的限制';break;
case 3:$tmp='文件只上传了一部分';break;
case 4:$tmp='没有上传任何文件';break;
}
return $result['error'] = $tmp;
}
}
}
?>