<?php /** PHP 多文件上传类 */ class Upload{ //自定义类型 private $type; //自定义大小 private $size; //自定义路径 private $path; //自定义表单name值 private $file; //源文件临时存储位置 private $tmp_name; //源文件文件名 private $orig_file; //源文件大小 private $orig_size; //源文件类型 private $orig_type; //上传后新文件名 private $new_file; //构造方法初始化 public function __construct($type, $size, $path, $file){ $this->type = $type; $this->size = $size; $this->path = $path; $this->file = $file; } //执行文件上传 public function runing(){ $count = count($_FILES[$this->file]["name"]); for($i=0; $i<$count; $i++){ $this->tmp_name = $_FILES[$this->file]["tmp_name"][$i]; $this->orig_file = $_FILES[$this->file]["name"][$i]; $this->orig_size = $_FILES[$this->file]["size"][$i]; $this->orig_type = strtolower(substr($this->orig_file, strrpos($this->orig_file, ".")+1)); $this->new_file = $this->path.date("Y-m-d-H-i-s").rand(0,999).".".$this->orig_type; if($this->checktype()){ if($this->checksize()){ $this->fileupload(); }else{ echo "<meta charset='utf-8'>该文件大小错误:".$this->orig_file; } }else{ echo "<meta charset='utf-8'>该文件类型错误:".$this->orig_file; return false; } } } //检查文件的类型 private function checktype(){ if(in_array($this->orig_type, $this->type)){ return true; }else{ return false; } } //检查文件大小 private function checksize(){ if($this->orig_size <= $this->size){ return true; }else{ return false; } } //执行上传 private function fileupload(){ if(is_uploaded_file($this->tmp_name) && isset($_POST["submit"])){ $file = move_uploaded_file($this->tmp_name, $this->new_file); }else{ return false; } if($file){ echo $this->orig_file."<meta charset='utf-8'>上传成功!"; }else{ echo $this->orig_file."<meta charset='utf-8'>上传失败!"; } } } ?>