php专区

 首页 > php专区 > PHP应用 > php类库 > 实现多文件上传php类 - php类库

实现多文件上传php类 - php类库

分享到:
【字体:
导读:
          多文件上传是PHP中的一个基础应用,反正PHPer都会遇到的问题,现在就介绍一个功能完善、强大的多文件上传类给大家吧,能用上这个类的地方会很...

实现多文件上传php类

多文件上传是PHP中的一个基础应用,反正PHPer都会遇到的问题,现在就介绍一个功能完善、强大的多文件上传类给大家吧,能用上这个类的地方会很多,代码如下:

  1. class Upload{ 
  2.  var $saveName;// 保存名 
  3.  var $savePath;// 保存路径 
  4.  var $fileFormat = array('gif','jpg','doc','application/octet-stream');// 文件格式&MIME限定 
  5.  var $overwrite = 0;// 覆盖模式 
  6.  var $maxSize = 0;// 文件最大字节 
  7.  var $ext;// 文件扩展名 
  8.  var $thumb = 0;// 是否生成缩略图 
  9.  var $thumbWidth = 130;// 缩略图宽 
  10.  var $thumbHeight = 130;// 缩略图高 
  11.  var $thumbPrefix = "_thumb_";// 缩略图前缀 
  12.  var $errno;// 错误代号 
  13.  var $returnArrayarray();// 所有文件的返回信息 
  14.  var $returninfoarray();// 每个文件返回信息 
  15.  
  16. // 构造函数 
  17. // @param $savePath 文件保存路径 
  18. // @param $fileFormat 文件格式限制数组 
  19. // @param $maxSize 文件最大尺寸 
  20. // @param $overwriet 是否覆盖 1 允许覆盖 0 禁止覆盖 
  21.  function Upload($savePath$fileFormat='',$maxSize = 0, $overwrite = 0) { 
  22.   $this->setSavepath($savePath); 
  23.   $this->setFileformat($fileFormat); 
  24.   $this->setMaxsize($maxSize); 
  25.   $this->setOverwrite($overwrite); 
  26.   $this->setThumb($this->thumb, $this->thumbWidth,$this->thumbHeight); 
  27.   $this->errno = 0; 
  28.  } 
  29. // 上传 
  30. // @param $fileInput 网页Form(表单)中input的名称 
  31. // @param $changeName 是否更改文件名 
  32.  function run($fileInput,$changeName = 1){ 
  33.   if(isset($_FILES[$fileInput])){ 
  34.    $fileArr = $_FILES[$fileInput]; 
  35.    if(is_array($fileArr['name'])){//上传同文件域名称多个文件 
  36.     for($i = 0; $i < count($fileArr['name']); $i++){ 
  37.      $ar['tmp_name'] = $fileArr['tmp_name'][$i]; 
  38.      $ar['name'] = $fileArr['name'][$i]; 
  39.      $ar['type'] = $fileArr['type'][$i]; 
  40.      $ar['size'] = $fileArr['size'][$i]; 
  41.      $ar['error'] = $fileArr['error'][$i]; 
  42.      $this->getExt($ar['name']);//取得扩展名,赋给$this->ext,下次循环会更新 
  43.      $this->setSavename($changeName == 1 ? '' : $ar['name']);//设置保存文件名 
  44.      if($this->copyfile($ar)){ 
  45.       $this->returnArray[] =  $this->returninfo; 
  46.      }else
  47.       $this->returninfo['error'] = $this->errmsg(); 
  48.       $this->returnArray[] =  $this->returninfo; 
  49.      } 
  50.     } 
  51.     return $this->errno ?  false :  true; 
  52.    }else{//上传单个文件 
  53.     $this->getExt($fileArr['name']);//取得扩展名 
  54.     $this->setSavename($changeName == 1 ? '' : $fileArr['name']);//设置保存文件名 
  55.     if($this->copyfile($fileArr)){ 
  56.      $this->returnArray[] =  $this->returninfo; 
  57.     }else
  58.      $this->returninfo['error'] = $this->errmsg(); 
  59.      $this->returnArray[] =  $this->returninfo; 
  60.     } 
  61.     return $this->errno ?  false :  true; 
  62.    } 
  63.    return false; 
  64.   }else
  65.    $this->errno = 10; 
  66.    return false; 
  67.   } 
  68.  } 
  69. // 单个文件上传 
  70. // @param $fileArray 文件信息数组 
  71.  function copyfile($fileArray){ 
  72.   $this->returninfo = array(); 
  73.   // 返回信息 
  74.   $this->returninfo['name'] = $fileArray['name']; 
  75.   $this->returninfo['md5'] = @md5_file($fileArray['tmp_name']); 
  76.   $this->returninfo['saveName'] = $this->saveName; 
  77.   $this->returninfo['size'] = number_format( ($fileArray['size'])/1024 , 0, '.'' ');//以KB为单位 
  78.   $this->returninfo['type'] = $fileArray['type']; 
  79.   // 检查文件格式 
  80.   if (!$this->validateFormat()){ 
  81.    $this->errno = 11; 
  82.    return false; 
  83.   } 
  84.   // 检查目录是否可写 
  85.   if(!@is_writable($this->savePath)){ 
  86.    $this->errno = 12; 
  87.    return false; 
  88.   } 
  89.   // 如果不允许覆盖,检查文件是否已经存在 
  90.   //if($this->overwrite == 0 && @file_exists($this->savePath.$fileArray['name'])){ 
  91.   // $this->errno = 13; 
  92.   // return false; 
  93.   /
分享到:
PHP中Exception异常处理类的使用详解 - p...
PHP中Exception异常处理类的使用详解 本文章介绍了在php中常用的简单的异常处理类,我们主要是讲述到了Exception处理,代码如下:   以上代码,并不会输出“抛出异常”,而是输出了错误信息:Warning: Division by zero in...... 说明:try块中并没有抛出异常,而是按照系统默认的错...
php文件上传类 php文件上传代码 - php类...
php文件上传类 php文件上传代码 一个简单的php文件上传的类,在整理 php 类时发现的一个图片处理类,PHP 处理图片的类已经很多了,有单独处理图片的,也有加水印的,也有生成图片的,总之,在 PHP 当中,处理图片已经很简单了,甚至在一些小型的应用中,直接应用 PHP 的面向过程就可以实现图片的上传过...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……