up.class.php
<?php class up{ public $f; //表示$_FILES[xx] public $s; //上傳檔案的大小public $n; //是否指定檔案名稱public $d; //是否指定檔案夾 function __construct($f,$s=1,$n=false,$d=false){ $this->f=$f; $this->s=$s*1000000; $this->n=$n; $this->d=$d; $this->loading();} function loading(){ $this->fsize();$this->ftype();$this->fmv(); } function fname(){ if($this->n){return $this->n.$this->ftype();}else{return time().rand(111,999).$this->ftype();} } function fdir(){ if($this->d){ //判斷使用者是否指定檔案夾名if(!is_dir($this->d)){ //判斷指定的檔案夾名是否存在mkdir($this->d);}return $this->d."/"; }else{ if(!is_dir(date("Ymd"))){mkdir(date("Ymd"));}return date("Ymd")."/"; } } //end fdir function fsize(){ if($this->f['size']>$this->s){echo "檔案超過大小";exit();}else{ return true;} } function ftype(){ switch($this->f['type']){case "image/x-png": $ok=".png";break;case "image/png": $ok=".png";break;case "application/pdf": $ok=".pdf";break;case "image/pjpeg": $ok=".jpg";break;case "image/jpeg": $ok=".jpg";break;case "image/jpg": $ok=".jpg";break;default: $ok=false;break;}if($ok){ return $ok;}else{ echo "檔案類型不正確"; exit();} } function fmv(){ move_uploaded_file($this->f['tmp_name'],$this->fdir().$this->fname()); } } ?> test.php 上傳檔案 <?phpinclude("up.class.php"); if(!empty($_POST['sub'])){ foreach($_FILES as $id=>$v){ new up($_FILES[$id]); } } ?><form action="" method="post" enctype="multipart/form-data"><input type="file" name="p1"><br><input type="file" name="p2"><br><input type="file" name="p3"><br><input type="file" name="p4"><br><input type="file" name="p5"><br><input type="file" name="p6"><br><input type="submit" name="sub" value="上傳"></form>