1 <?php 2 3 class TL_Update_File{ 4 private $file = null;//接受图片名称 5 private $files = [];//图片属性 6 public $size = null;//上传文件大小限制 7 public $save_path = null;//保存路径 8 public $mime = null;//文件上传支持类型 9 private $error = null;//图片不符合要求者 10 //接受图片 11 function __construct($file=null){ 12 $this->save_path = str_replace("\\","/",dirname(__FILE__))."/"; 13 $this->file = $file; 14 if($file){ 15 $this->files = $_FILES[$file]; 16 }else{ 17 $this->files = $_FILES; 18 } 19 } 20 //一系列属性向 21 private function attribute(){ 22 if($this->file){ 23 $this->empty_ture(); 24 }else{ 25 $this->empty_false(); 26 } 27 if($this->size){ 28 if($this->file){ 29 $this->Size_ture(); 30 }else{ 31 $this->Size_false(); 32 } 33 } 34 if($this->mime){ 35 if($this->file){ 36 $this->mime_ture(); 37 }else{ 38 $this->mime_false(); 39 } 40 } 41 } 42 //判断图片是否为空 43 function empty_false(){ 44 foreach ($this->files as $key => $value){ 45 if($this->files[$key]['error']){ 46 $this->error[$key] = $value; 47 $this->error[$key]['tl_error'] = "改图片为空"; 48 unset($this->files[$key]); 49 }else{ 50 $this->files[$key]['mime'] = substr($value['name'], strrpos($value['name'], ".")+1); 51 } 52 } 53 } 54 //判断图片是否为空 55 function empty_ture(){ 56 if($this->files['error']) { 57 $this->error[$this->file] = $this->files; 58 $this->error[$this->file]['tl_error'] = "改图片为空"; 59 $this->files=[]; 60 }else{ 61 $this->files['mime'] = substr($this->files['name'], strrpos($this->files['name'], ".") + 1); 62 } 63 } 64 //文件后缀名是否受限制 65 function mime_ture(){ 66 if($this->files){ 67 if(!in_array($this->files['mime'],$this->mime)){ 68 $this->error[$this->file] = $this->files; 69 $this->error[$this->file]['tl_error'] = "不支持改后缀名"; 70 $this->files=[]; 71 } 72 } 73 } 74 //文件后缀名是否受限制 75 function mime_false(){ 76 foreach ($this->files as $key => $value){ 77 if(!in_array($this->files[$key]['mime'],$this->mime)){ 78 $this->error[$key] = $value; 79 $this->error[$key]['tl_error'] = "不支持改后缀名"; 80 unset($this->files[$key]); 81 } 82 } 83 } 84 //文件大小是否受限制 85 function Size_ture(){ 86 if($this->files['size'] > $this->size){ 87 $this->error[$this->file] = $this->files; 88 $this->error[$this->file] = $this->files; 89 $this->error[$this->file]['tl_error'] = "文件过大"; 90 $this->files=[]; 91 } 92 } 93 //文件大小是否受限制 94 function Size_false(){ 95 foreach ($this->files as $key => $value){ 96 if($this->files[$key]['size'] > $this->size){ 97 $this->error[$key] = $value; 98 $this->error[$key]['tl_error'] = "文件过大"; 99 unset($this->files[$key]); 100 } 101 } 102 } 103 //保存图片 104 function save_file(){ 105 if($this->files){ 106 $file_path_dir = date('Ym',time()) ."/"; 107 $file_name = time() . rand(00000,99999) . "." . $this->files["mime"]; 108 $this->is_dir_on_off($this->save_path . date('Ym',time()) ."/"); 109 if($this->file){ 110 $this->save_file_ture($file_path_dir,$file_name); 111 }else{ 112 $this->save_file_false($file_path_dir,$file_name); 113 } 114 } 115 } 116 //保存图片 117 function save_file_ture($file_path_dir,$file_name){ 118 move_uploaded_file($this->files["tmp_name"] , $this->save_path . $file_path_dir . $file_name); 119 } 120 //保存图片 121 function save_file_false($file_path_dir,$file_name){ 122 foreach ($this->files as $key => $value){ 123 move_uploaded_file($this->files[$key]["tmp_name"] , $this->save_path . $file_path_dir . $file_name); 124 } 125 } 126 //创建目录 127 function is_dir_on_off($file_path){ 128 if(!is_dir($file_path)){ 129 mkdir($file_path,0777); 130 } 131 } 132 //保存文件 133 function move(){ 134 $this->attribute(); 135 $this->save_file(); 136 } 137 } 138 文章来源:http://www.cnblogs.com/hello-tl/p/7593033.html
文件上传类(引用)
猜你喜欢
转载自www.cnblogs.com/wutianfei/p/9024378.html
今日推荐
周排行