加入收藏 | 设为首页 | 会员中心 | 我要投稿 平凉站长网 (https://www.0933zz.com.cn/)- 图像处理、语音技术、媒体智能、运维、低代码!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php上传文件分类实例代码

发布时间:2022-06-14 09:54:05 所属栏目:PHP教程 来源:互联网
导读:?php /** * 文件上传类 * @author lijiamin * @time 2017-02-17 * @email 1195989301@qq.com */ classUpload{ private$allowExt=array(gif,jpg,jpeg,bmp,png,swf);//限制文件上传的后缀名 private$maxSize= 1;//限制最大文件上传1M /** * 获取文件的信息 * @
  <?php
  /**
  * 文件上传类
  * @author lijiamin
  * @time 2017-02-17
  * @email 1195989301@qq.com
  */
  classUpload{
  private$allowExt=array('gif','jpg','jpeg','bmp','png','swf');//限制文件上传的后缀名
  private$maxSize= 1;//限制最大文件上传1M
  /**
  * 获取文件的信息
  * @param str $flag 上传文件的标识
  * @return arr 上传文件的信息数组
  */
  publicfunctiongetInfo($flag){
  return$_FILES[$flag];
  }
  /**
  * 获取文件的后缀
  * @param str $filename 文件名
  * @return str 文件扩展名
  */
  publicfunctiongetExt($filename){
  returnpathinfo($filename,PATHINFO_EXTENSION);
  }
  /**
  * 检测上传文件是否合法
  * @param str $filename 文件名
  * @return bool 文件扩展名是否合法
  */
  privatefunctioncheckExt($filename){
  $ext=$this->getExt($filename);
  returnin_array($ext,$this->allowExt);
  }
  /**
  * 检测文件大小是否超过限制
  * @param int size 文件大小
  * @return bool 文件大小是否超过限制
  */
  publicfunctioncheckSize($size){
  return$size<$this->maxSize * 1024 * 1024;<!--$this--->
  }
  /**
  * 随机的文件名
  * @param int $len 随机文件名的长度
  * @return str 随机字符串
  */
  publicfunctionrandName($len=6){
  returnsubstr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,$len);
  }
  /**
  * 创建文件上传到的路径
  * @return str 文件上传的路径
  */
  publicfunctioncreateDir(){
  //上传文件路径
  $dir='./upload/'.date('Y/m/d',time());
  //判断文件夹是否存在,不存在则新建
  if(is_dir($dir) ||mkdir($dir,0777,true)){
  return$dir;
  }
  }
  /**
  * 文件上传
  * @param str $flag 文件上传标识
  * @return array 返回上传文件名、保存路径
  */
  publicfunctionuploadFile($flag){
  if($_FILES[$flag]['name'] ===''||$_FILES[$flag]['error'] !== 0){
  echo"没有上传文件";
  return;
  }
  $info=$this->getInfo($flag);
  if(!$this->checkExt($info['name'])){
  echo"不支持的文件类型";
  return;
  }
  if(!$this->checkSize($info['size'])){
  echo"文件大小超过限制";
  return;
  }
  $filename=$this->randName().'.'.$this->getExt($info['name']);
  $dir=$this->createDir();
  if(!move_uploaded_file($info['tmp_name'],$dir.'/'.$filename)){
  echo"文件上传失败";
  }else{
  returnarray('filename'=>$filename,'dir'=>$dir);
  }
  }
  }
  ?> 

(编辑:平凉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读