加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

一个完整的php文件上传类实例分析

发布时间:2022-06-13 16:54:40 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了一个完整的php文件上传类实例,可以自定上传文件大小与上传文件类型及文件保存地址,需要的朋友可以参考下。 这个文件上传类可以自定上传文件大小与上传文件类型及文件保存地址,在使用过程中有一个问题就是如果是中文文件名进行上传就会
  这篇文章主要介绍了一个完整的php文件上传类实例,可以自定上传文件大小与上传文件类型及文件保存地址,需要的朋友可以参考下。
 
  这个文件上传类可以自定上传文件大小与上传文件类型及文件保存地址,在使用过程中有一个问题就是如果是中文文件名进行上传就会出现乱码,所以大家解决办法就是把页面保存成uft8即可解决。
 
  下面就是为大家分享的代码:
 
   {
    var $_file;
    var $_filesize;
    var $_fileext;
    var $_filedir;
    var $_filename;
    var $_filetmpname;
      
    var $allowsize;
    var $allowext;
      
    var $neednewname;
    var $newname;
    var $syslang;
      
    var $report;
      
    function ready($filedir = '', $file, $allowsize = '', $allowext = '', $neednewname = false, $report = 0){
      $this->_filedir = is_dir($filedir) ? $filedir : '';
      if(emptyempty($file) || !isset($file['size']) || $file['size'] == 0) $this->error(NO_FILE);
      $this->_filesize = $file['size'];
      $this->_filename = $file['name'];
      $this->_filetmpname = $file['tmp_name'];
        
      $this->allowsize = $allowsize;
      $this->allowext = $allowext;
        
      $this->neednewname = ($neednewname) ? true : false;
      $this->newname = '';
        
      $this->report = $report;
    }
      
    function do_upload(){
      if(!is_uploaded_file($this->_filetmpname)) $this->error(NO_FILE);
      if($this->chk_ext()){
        $this->error(NOT_ALLOW_EXT);
        return '';
      }
      if($this->chk_size()){
        $this->error(NOT_ALLOW_SIZE);
        return '';
      }
         return '';
      }
    }
      
    function chk_ext(){
      if(emptyempty($this->allowext) || in_array($this->get_fileext(), explode("|",$this->allowext))) return false;
      return true;
    }
      
    function chk_size(){
      if(emptyempty($this->allowsize) || get_filesize <= $this->allowsize*1024*1024) return false;
      return true;
    }
      
    function get_filesize(){
      return $this->_filesize;
    }
      
    function get_fileext(){
      return substr($this->_filename,strrpos($this->_filename,".")+1);
    }
      
    function generate_name(){
      return substr(md5(time()),26);
    }
      
    function chk_hasfile(){
      return is_file($this->_filedir.$this->_filename);
    }
      
    function error($tip){
      echo $tip;
    }
      
    function result(){
      if($this->report){
        $filename = emptyempty($this->newname) ? $this->_filename : $this->newname;
        $arr = array('filename' => $filename, 'filesize' => $this->_filesize, 'tip' => UPLOAD_SUCCESS);
        return $arr;
      }else{
        return UPLOAD_SUCCESS; 

(编辑:应用网_丽江站长网)

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

    热点阅读