日期:2011-10-02  浏览次数:20586 次

在课堂上给大家写了一个经典的文件上传类,灵活性还可以,大家可以参考使用,

\

 

上传文件:

 

<?php
/**
* author : PHP100.com
* date :2012-9-15 经典的文件上传类 
**/
 if(!empty($_POST['sub'])){
  include("up.class.php");
  
  $up = new up($_FILES['up']);
//参数,文件流必选,【指定目录,指定大小,指定文件名】可选
 }
 ?>
 
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="up">
<input type="submit" name="sub" value="上传">
</form>
 
上传类:
 
<?php
/**
* author : PHP100.com
* date :2012-9-15 经典的文件上传类 
**/
 class up {
    
public $f_size;//定义的文件大小
    public $f_sys;//接收文件属性
public $f_name;//自定义的文件名
public $f_dir;//自定义上传目录
 
//参数:文件流,目录,大小,文件名
function __construct($sys,$dir="",$size="1",$name=""){
 $this->f_size=$size*1000000;
 $this->f_sys=$sys;
 $this->f_name=$name;
 $this->f_dir=$dir;
 $this->f_mv();
}
 
//判断文件大小
   function is_size(){
      if($this->f_sys['size']<=$this->f_size){
   return true;
 }else{
   return false;
 }
   } //end
   
   //判断文件类型,返回扩展名
   function is_type(){ 
switch($this->f_sys['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;
}
return $ok;
     }
   
   //终止函数
   function f_over($n){
     echo $n;
exit();
   }
   
   //判断文件夹是否存在,并创建
   function is_dirs(){
    if($this->f_dir){
if(!is_dir($this->f_dir)){ 
  mkdir($this->f_dir);
}
return $this->f_dir;
}else{
if(!is_dir(date("Ymd"))){ 
  mkdir(date("Ymd"));
}
return date("Ymd");
}
   }
   
   
   //文件名的定义,不定义而使用时间戳