首頁  >  文章  >  php教程  >  经典的PHP文件上传类

经典的PHP文件上传类

WBOY
WBOY原創
2016-06-21 08:51:15835瀏覽

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

 

上传文件:

 

/**

* author : PHP100.com

* date :2012-9-15 经典的文件上传类 

**/

 if(!empty($_POST['sub'])){

  include("up.class.php");

  

  $up = new up($_FILES['up']);

//参数,文件流必选,【指定目录,指定大小,指定文件名】可选

 }

 ?>

 

 

上传类:

 

/**

* 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']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");

}

   }

   

   

   //文件名的定义,不定义而使用时间戳

   function is_name(){

      if($this->f_name){

  $fn=$this->f_name.$this->is_type();

 }else{

  $fn=time().rand(100,999).$this->is_type();

 }

 return $this->is_dirs()."/".$fn;

   }

 

 

   //上传文件

   function f_mv(){

 $this->is_size()?null:$this->f_over("文件超过大小");

 $this->is_type()?null:$this->f_over("文件类型不正确");;

move_uploaded_file($this->f_sys['tmp_name'],$this->is_name());

}

 

//请继续完善,水印,等等

 }

 

 

?>



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn