header("content-type:text/html;charset=utf-8");
class upload{

public $_max_size;
public $_allow_ext_list;
public $_allow_mime_list;
public $_upload_path;

public function __construct(){
#大小 格式 mime  移动位置
$this->_max_size=1024*1024;
$this->_allow_ext_list=array('.gif','.png','.jpeg','.jpg');
$this->_allow_mime_list=array('image/png','image/x-png','image/gif','image/jpeg','image/pjpeg');
$this->_upload_path="./";

}


public function uploadone($file){

if($file['error']!==0){
echo "文件有问题";
return false;
}

#2 大小规定

if($file['size'] > $this->_max_size){
echo "文件太大";
return false;
}

#3 获取后缀类型  strrchr( , )  strtolower();
#获取后缀,转换成小写
$ext=strtolower(strrchr($file['name'],'.'));
if(!in_array($ext,$this->_allow_ext_list)){
echo "类型不符合";
return false;
}

#4 mime
$finfo=new Finfo(FILEINFO_MIME_TYPE);#使用php方法检测mime
$mime_type=$finfo->file($file['tmp_name']);
if(!in_array($mime_type,$this->_allow_mime_list)){
echo "类型不符合";
return false;
}

#5 永久化保存  move_uploaded_file!!!!

#要保存的地方
#创建时间子目录
$subdir=date('YmdH').'/';
if(!is_dir($subdir)){
mkdir($subdir);
}
#科学起名 uniqid
$upload_filename=uniqid('cc_',true).$ext;
if(move_uploaded_file($file['tmp_name'],$this->_upload_path.$subdir.$upload_filename)){
return $upload_filename;
}else{
echo "失败";
return false;
}


}}
#测试
$a=new upload();
var_dump($a->uploadone($_FILES['logo']));