• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php之文件下传类代码

php 搞代码 3年前 (2022-01-24) 15次浏览 已收录 0个评论

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 getEr<a style="color:transparent">来@源gao*daima.com搞@代#码网</a><strong>搞gaodaima代码</strong>r(){          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 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 表单

????          用户名: <br />          头像:                   

另起页面调用

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php之文件下传类代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址