首页  >  文章  >  php教程  >  跟我学做PHP上传类

跟我学做PHP上传类

WBOY
WBOY原创
2016-06-21 08:50:57859浏览

up.class.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 上传文件

 

include("up.class.php");

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

  foreach($_FILES as $id=>$v){

  new up($_FILES[$id]);

  }

 }

 ?>







 

 



声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn