单文件上传类

<?php
/**
 * 页面作用:文件上传类,如果存在同名文件则替换
 * 作    者:欣然随风
 * 建立时间:2006-3-6
 * 其它说明:
 *  1、表单中 <input name="up" type="file">,name参数一定要为"up"
 *  2、使用前请先检测是否选择了上传文件:$_FILES['up']['size']!==0?有选择:无选择;
 */

class class_ftp
{
 public $file_ream;  // 返回扩展名
 public $err;   // 返回上传信息
 public $off = false; // 流程开关/上传成功与否开关

 /*
 参数设置: $file_max  上传文件最大容量(KB)
    $file_dir  上传路径
    $file_type  支持类型,例:$file_type = array("image/pjpeg","image/gif","**","**","**");
    $file_name  上传后重命名称(不含扩展名)
 */
 function __construct($file_max,$file_dir,$file_type,$file_name)
 {
  $file_size = $file_max * 1024;  // 转为系统默认的字节
  $num=sizeof($file_type);   // 得出支持类型个数

  // 检查文件类型
  for($i=0;$i<$num;$i++)
  {
   if($file_type[$i] == $_FILES['up']['type'])
   {
    $this->off = true;
    break;
   }
  }
  if($this->off == false) $this->err = "此文件格式不支持!";

  // 检查文件大小
  if($this->off)
  {
   if($file_size < $_FILES['up']['size'])
   {
    $this->off = false;
    $this->err = "文件大小不得超过".$file_max."K!";
   }
  }

  //通过检查 复制文件到指定目录
  if($this->off)
  {
   // 得到扩展名
   switch($_FILES['up']['type'])
   {
    case "image/pjpeg":      $this->file_ream=".jpg"; break;

    case "image/gif":      $this->file_ream=".gif"; break;

    case "text/plain":      $this->file_ream=".txt"; break;

    case "application/msword":    $this->file_ream=".doc"; break;

    case "application/x-shockwave-flash": $this->file_ream=".swf"; break;

    case "application/octet-stream":  $this->file_ream=".fla"; break;

    case "application/octet-stream":  $this->file_ream=".rar"; break;

    case "application/x-zip-compressed": $this->file_ream=".zip"; break;

    case "application/octet-stream":  $this->file_ream=".psd"; break;
   }

   // 复制上传文件
   move_uploaded_file($_FILES['up']['tmp_name'],$file_dir.$file_name.$this->file_ream);
   if($_FILES['up']['error'] == 0)
   {
    $this->err = "文件上传成功!";
   }
   else
   {
    $this->off = false;
    $this->err = "文件上传失败,请重试!";
   }
  }
 }
}//class end
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值