日期:2011-09-21  浏览次数:20595 次

\

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 上传文件
 
<?php
include("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>