首页 后端开发 php教程 php之文件下传类代码

php之文件下传类代码

Jun 13, 2016 am 11:09 AM
gt protected quot return this

php之文件上传类代码

/*  单个文件上传    功能  上传文件  配置允许的后缀  配置允许的大小    获取文件后缀  判断文件的后缀  报错  */  class UpTool{      protected $allowExt = 'jpg,jpeg,gif,bmp,png';      protected $maxSize = 1; //1M ,以M为单位        protected $file = null; //准备储存上传文件信息      protected $errno = 0;  //错误代码      protected $error = array(              0=>'无错',              1=>'上传文件大小超出系统限制',              2=>'上传文件的大小超出网页表单限制',              3=>'文件只有部分被上传',              4=>'没有文件被上传',              6=>'找不到临时文件夹',              7=>'文件写入失败',              8=>'不允许的文件后缀',              9=>'文件大小超出类的允许范围',              10=>'创建目录失败',              11=>'文件移动失败'          );        /*      上传      */      public function up($key) {          if (!isset($_FILES[$key])) {              return false;          }          $f = $_FILES[$key];            //检验上传是否成功          if ($f['error']) {              $this->errno = $f['error'];              return false;          }            //获取后缀          $ext = $this->getExt($f['name']);          //检查后缀          if (!$this->isAllowExt($ext)) {              $this->errno = 8;              return false;          }          //检查大小          if (!$this->isAllowSize($f['size'])) {              $this->errno = 9;              return false;          }          //创建目录          $dir = $this->mk_dir();          if ($dir == false) {              $this->errno = 10;              return fasle;          }            //生成随机文件名          $newname = $this->randName() . '.' .$ext;          //$dir = $dir . '/' .$newname;          //移动          if(!move_uploaded_file($f['tmp_name'], $dir . '/' .$newname)) {              $this->errno = 11;              return false;          }          return true;//str_replace(ROOT, '', $dir);      }        public function getErr(){          return $this->error[$this->errno];      }        /*      parm string $exts 允许的后缀      自动添加 允许的后缀,和文件的大小      */      public function setExt($exts) {          $this->allowExt = $exts;      }      public function setSize($num) {          $this->maxSize = $num;      }          /*          string $file      return string $ext 后缀       */        protected function getExt($file) {          $tmp = explode('.', $file);          return end($tmp);      }      /*      string $ext 文件后缀      return bool      防止大小写的问题      */      protected function isAllowExt($ext) {          return in_array(strtolower($ext), explode(',', strtolower($this->allowExt))) ;                }        /*          检查文件的大小      */      protected function isAllowSize($size) {          return $size <= $this->maxSize *1024*1024;      }      //按日期创建目录的方法      protected function mk_dir() {          $dir = 'images/' . date('Ym/d');          if(is_dir($dir) || mkdir($dir,0777,true)) {              return $dir;          } else {              return false;          }      }        /*          生成随机文件名      */      protected function randName($length = 6) {          $str = 'abcdefghijkmnpqrstuvwxyz23456789';          return substr(str_shuffle($str),0,$length);      }    }
登录后复制
form 表单
????<form action="up.php" method="post" enctype="multipart/form-data">          用户名:<input type="text" name="username" /> <br/>          头像:   <input type="file" name="pic" />          <input type="submit" value="提交" />      </form>
登录后复制

另起页面调用

require('./UpTool.class.php');    $uptool = new UpTool();  $uptool->setExt('rar,doc');  $uptool->setSize(1);      if ($uptool->up('pic')) {      echo '上传成功';  } else {      echo '失败';      echo $uptool->getErr();  }
登录后复制



 

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

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

华为GT3 Pro和GT4的差异是什么? 华为GT3 Pro和GT4的差异是什么? Dec 29, 2023 pm 02:27 PM

华为GT3 Pro和GT4的差异是什么?

C语言return的用法详解 C语言return的用法详解 Oct 07, 2023 am 10:58 AM

C语言return的用法详解

修复:截图工具在 Windows 11 中不起作用 修复:截图工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

修复:截图工具在 Windows 11 中不起作用

Java中return和finally语句的执行顺序是怎样的? Java中return和finally语句的执行顺序是怎样的? Apr 25, 2023 pm 07:55 PM

Java中return和finally语句的执行顺序是怎样的?

如何修复无法连接到iPhone上的App Store错误 如何修复无法连接到iPhone上的App Store错误 Jul 29, 2023 am 08:22 AM

如何修复无法连接到iPhone上的App Store错误

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

详解JavaScript函数返回值和return语句 详解JavaScript函数返回值和return语句 Aug 04, 2022 am 09:46 AM

详解JavaScript函数返回值和return语句

Python返回值return怎么用 Python返回值return怎么用 Oct 07, 2023 am 11:10 AM

Python返回值return怎么用

See all articles