码迷,mamicode.com
首页 > Web开发 > 详细

PHP文件上传类

时间:2018-07-30 13:23:03      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:vat   upload   失败   wsize   错误   inf   dir   ret   临时   

class Upload{ //错误信息 private $errorNo; private $errorMsg; //文件类型 private $ext; //允许的文件类型 private $allowExt; //文件的大小 private $size; //允许的文件大小 private $allowSize; //存放图片的主文件名称 private $dir; //子文件夹名称 private $dirSec; //临时文件名 private $tmpName; //分隔符 const DS = DIRECTORY_SEPARATOR; public function __construct($file,$dir=‘upload‘,$allowExt=[‘jpg‘,‘jpeg‘,‘gif‘,‘png‘],$allowSize = 2097152){ $this->errorNo = $file[‘error‘]; $this->ext = $file[‘name‘]; $this->size = $file[‘size‘]; $this->tmpName=$file[‘tmp_name‘]; $this->dir = $dir; $this->allowExt=$allowExt; $this->allowSize=$allowSize; } public function UpLoad(){ if(!$this->checkFile()){ return $this->errorMsg; } if(!$this->createDir()){ return $this->errorMsg; }; echo $this->moveFile(); } private function checkFile(){ if(!$this->checkError()){ $this->errorMsg=‘文件错误,无法上传!‘; return false; } if(!$this->checkExt()){ $this->errorMsg=‘不是图片,无法上传!‘; return false; } if(!$this->checkSize()){ $this->errorMsg=‘文件超过指定大小,无法上传‘; return false; } return true; } //检查文件错误 private function checkError(){ if($this->errorNo!=0){ return false; } return true; } //检查文件类型 private function checkExt(){ if(!in_array(pathinfo($this->ext)[‘extension‘],$this->allowExt)){ return false; } return true; } //检查文件大小 private function checkSize(){ if($this->size > $this->allowSize){ return false; } return true; } //创建文件夹 private function createDir(){ $this->dirSec = $this->dir.self::DS.date(‘Y-m-d‘); if(!file_exists($this->dir)){ if(!(mkdir($this->dir) && mkdir($this->dirSec))){ $this->errorMsg=‘主目录创建失败‘; return false; } }elseif(!file_exists($this->dirSec)){ if(!mkdir($this->dirSec)){ $this->errorMsg=‘子目录创建失败‘; return false; } } return true; } //移动文件 private function moveFile(){ $imgName = date(‘YmdHis‘).‘_‘.mt_rand(10000,99999); move_uploaded_file($this->tmpName,$this->dirSec.self::DS.$imgName.‘.‘.pathinfo($this->ext)[‘extension‘]); return $this->dirSec.self::DS.$imgName.‘.‘.pathinfo($this->ext)[‘extension‘]; } }

自己写了一个,拿去直接用
$file = $_FILES[‘img‘];

//new Upload(获取的文件信息,上传的文件夹,允许的文件类型,允许的文件大小);
$upload = new Upload($file,‘upload‘,[‘gif‘,‘png‘,‘jpg‘,‘jpeg‘],444444444);
$upload->UpLoad();

PHP文件上传类

标签:vat   upload   失败   wsize   错误   inf   dir   ret   临时   

原文地址:http://blog.51cto.com/woaijorden/2152075

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!