Home > php教程 > php手册 > body text

经典的PHP文件上传类

WBOY
Release: 2016-06-21 08:51:15
Original
855 people have browsed it

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

 

上传文件:

 

/**

* 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());

}

 

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

 }

 

 

?>



Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!