欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

跟我学做PHP上传类

程序员文章站 2023-12-28 21:53:04
...
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]);

}

}

?>









上一篇:

下一篇: