Heim  >  Artikel  >  Backend-Entwicklung  >  PHP上传类,分享给大家,不足之处请见谅!该如何处理

PHP上传类,分享给大家,不足之处请见谅!该如何处理

WBOY
WBOYOriginal
2016-06-13 13:42:41778Durchsuche

PHP上传类,分享给大家,不足之处请见谅!
不足之处请高手见谅!

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
/*
*
* 文件上传类 kangyangyang 2010-06-07
* $loadfile 要上传的文件的文件域
* $loadpath 文件存放路径
* $loadhold 保留文件原名
* $loadsize 文件大小限制 //默认是2048KB
* $loadtype 文件类型限制 //默认支持 jpg|jpeg|gif|png|txt|rar|zip
*
*/
class uploadfile{
private $loadfile;
private $loadpath;
private $loadsize;
private $loadtype;
private $loadhold = false;
private $chkfile = true;
private $file_name;
private $extend_type;
private $set_name;
private $set_size;
private $set_path;
private $set_create_name;
private $get_error;
//构造函数
function __construct($loadfile,$loadpath,$loadhold = false,$loadsize="2097152",$loadtype="jpg|jpeg|gif|png|txt|rar|zip"){
   $this->loadfile = $loadfile;
   $this->loadpath = $loadpath;
   $this->loadsize = $loadsize;
   $this->loadtype = $loadtype;
   $this->loadhold = $loadhold;
   $this->filecheck();
}
//文件上传
function filecheck(){
  $filename = $_FILES[$this->loadfile]['name']; //文件名
  $filetype = $_FILES[$this->loadfile]['type']; //文件类型
  $filesize = $_FILES[$this->loadfile]['size']; //文件大小
  $filepath = $_FILES[$this->loadfile]['tmp_name']; //临时文件
  $fileerror= $_FILES[$this->loadfile]['error']; //错误代码
  if($fileerror loadsize >= $filesize){
    $this->set_size = $filesize;
    $ext = explode(".",$filename);
    $this->set_name = $ext;
    $ext_type = strtolower($ext[count($ext)-1]);
    $this->extend_type = $ext_type;
    $chk_type = explode("|",$this->loadtype);
    if(in_array($ext_type,$chk_type)){
     $f_path = $this->get_folder();
     $this->set_create_name = $createname = time().rand(1,9999);
     $this->file_name = $createname.".".$ext_type;
     if($this->loadhold){
      $file_path = $f_path.$filename;
      $this->set_path = $file_path;
     }else{
      $file_path = $f_path.$this->file_name;
      $this->set_path = $file_path;
     }
     $ckfile = move_uploaded_file($filepath,$file_path);
     if(!$ckfile){
      $this->chefile = false;
     }
    }else{
     $this->chkfile = false;
    }
   }else{
    $this->chkfile = false;
   }
  }else{
   $this->chkfile = false;
   $this->get_error = $fileerror;
  }
}
//生成的文件名
function get_CreateName(){
  if($this->CheckFile()){
   if(!$this->loadhold){
    return $this->set_create_name;
   }
  }
}
//返回文件夹路径
function get_folder(){
  if($this->CheckFile()){
   if(!file_exists($this->loadpath)){
    mkdir($this->loadpath,0777,true);
    chmod($this->loadpath,0777);
   }
   return $this->loadpath;
  }
}
//文件扩展名
function get_type(){
  if($this->CheckFile()){
   return $this->extend_type;
  }
}
//文件名"不包括扩展名"
function get_name(){
  if($this->CheckFile()){
   $filename = $this->set_name;
   unset($filename[count($filename)-1]);
   return implode(".",$filename);
  }
}
//返回文件大小
function get_size(){
  if($this->CheckFile()){
   return $this->set_size;
  }
}
//返回文件全路径
function get_path(){
  if($this->CheckFile()){
   return  $this->set_path;
  }
}
//文件是否上传成功
function CheckFile(){
  return $this->chkfile;
}
//获取错误代码
function get_error(){
  if($this->CheckFile()){
   return $this->get_error;
  }
}
}



------解决方案--------------------
不错,谢谢
------解决方案--------------------

------解决方案--------------------
不错,收藏
------解决方案--------------------
太牛了,收藏下
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn